Commit 4041cc06d5

Ryan Liptak <squeek502@hotmail.com>
2025-01-31 11:04:02
Allocator/Random: document that comparing `ptr` may result in illegal behavior
See #21756 and #17704
1 parent b46f994
Changed files (2)
lib/std/mem/Allocator.zig
@@ -10,7 +10,10 @@ const builtin = @import("builtin");
 pub const Error = error{OutOfMemory};
 pub const Log2Align = math.Log2Int(usize);
 
-// The type erased pointer to the allocator implementation
+/// The type erased pointer to the allocator implementation.
+/// Any comparison of this field may result in illegal behavior, since it may be set to
+/// `undefined` in cases where the allocator implementation does not have any associated
+/// state.
 ptr: *anyopaque,
 vtable: *const VTable,
 
lib/std/Random.zig
@@ -29,6 +29,9 @@ pub const RomuTrio = @import("Random/RomuTrio.zig");
 pub const SplitMix64 = @import("Random/SplitMix64.zig");
 pub const ziggurat = @import("Random/ziggurat.zig");
 
+/// Any comparison of this field may result in illegal behavior, since it may be set to
+/// `undefined` in cases where the random implementation does not have any associated
+/// state.
 ptr: *anyopaque,
 fillFn: *const fn (ptr: *anyopaque, buf: []u8) void,