diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-03-24 19:55:12 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-03-24 19:55:12 -0700 |
| commit | b802a67562cc912213ebfc6ef8a380c775c999fe (patch) | |
| tree | e08cd738c97b67c440904dfb141076c6ad334159 /lib/std/multi_array_list.zig | |
| parent | bb0e28a54ff60581c30156707eeeba1a6bd2b28f (diff) | |
| download | zig-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.zig | 5 |
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]; } |
