From 06c08e5219f03328f483cded319c7ba75efb5188 Mon Sep 17 00:00:00 2001 From: Vexu Date: Thu, 16 Jul 2020 17:05:14 +0300 Subject: [PATCH] std.mem.zeroes use std.mem.set instead of `@memset` stage1 comptime is not smart enough to remeber the size of the casted item which leads to out of bounds errors. --- lib/std/mem.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/mem.zig b/lib/std/mem.zig index 1a330667ed..f4489a4867 100644 --- a/lib/std/mem.zig +++ b/lib/std/mem.zig @@ -552,7 +552,7 @@ pub fn zeroes(comptime T: type) T { if (@sizeOf(T) == 0) return T{}; if (comptime meta.containerLayout(T) == .Extern) { var item: T = undefined; - @memset(@ptrCast([*]u8, &item), 0, @sizeOf(T)); + set(u8, asBytes(&item), 0); return item; } else { var structure: T = undefined;