aboutsummaryrefslogtreecommitdiff
path: root/lib/std/multi_array_list.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-03-24 19:55:12 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-03-24 19:55:12 -0700
commitb802a67562cc912213ebfc6ef8a380c775c999fe (patch)
treee08cd738c97b67c440904dfb141076c6ad334159 /lib/std/multi_array_list.zig
parentbb0e28a54ff60581c30156707eeeba1a6bd2b28f (diff)
downloadzig-b802a67562cc912213ebfc6ef8a380c775c999fe.tar.gz
zig-b802a67562cc912213ebfc6ef8a380c775c999fe.zip
std.MultiArrayList: check size of element, not pointer
Ever since a semi-recent language specification update, pointers to zero-sized types still have runtime bits.
Diffstat (limited to 'lib/std/multi_array_list.zig')
-rw-r--r--lib/std/multi_array_list.zig5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/std/multi_array_list.zig b/lib/std/multi_array_list.zig
index 2af723d3a5..ae81b6c5e5 100644
--- a/lib/std/multi_array_list.zig
+++ b/lib/std/multi_array_list.zig
@@ -42,7 +42,10 @@ pub fn MultiArrayList(comptime S: type) type {
return &[_]F{};
}
const byte_ptr = self.ptrs[@enumToInt(field)];
- const casted_ptr: [*]F = if (@sizeOf([*]F) == 0) undefined else @ptrCast([*]F, @alignCast(@alignOf(F), byte_ptr));
+ const casted_ptr: [*]F = if (@sizeOf(F) == 0)
+ undefined
+ else
+ @ptrCast([*]F, @alignCast(@alignOf(F), byte_ptr));
return casted_ptr[0..self.len];
}