Commit 737b366279

xdBronch <51252236+xdBronch@users.noreply.github.com>
2023-07-25 13:01:49
add error when passing a non-single-item pointer to allocator.destroy
1 parent feff968
Changed files (1)
lib
lib/std/mem/Allocator.zig
@@ -110,6 +110,7 @@ pub fn create(self: Allocator, comptime T: type) Error!*T {
 /// have the same address and alignment property.
 pub fn destroy(self: Allocator, ptr: anytype) void {
     const info = @typeInfo(@TypeOf(ptr)).Pointer;
+    if (info.size != .One) @compileError("ptr must be a single item pointer");
     const T = info.child;
     if (@sizeOf(T) == 0) return;
     const non_const_ptr = @as([*]u8, @ptrCast(@constCast(ptr)));