authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2020-07-16 17:05:14+03:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2020-07-16 17:05:14+03:00
log06c08e5219f03328f483cded319c7ba75efb5188
treeb3bdca9b76789742bb1a577679cc60f4c78942c5
parent37647375dcb817f88895ba1a17d648184727e4cc
signaturelock-open Commit is signed but in an unrecognized format.

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.

1 files changed, 1 insertions(+), 1 deletions(-)

lib/std/mem.zig+1-1
...@@ -552,7 +552,7 @@ pub fn zeroes(comptime T: type) T {...@@ -552,7 +552,7 @@ pub fn zeroes(comptime T: type) T {
552 if (@sizeOf(T) == 0) return T{};552 if (@sizeOf(T) == 0) return T{};
553 if (comptime meta.containerLayout(T) == .Extern) {553 if (comptime meta.containerLayout(T) == .Extern) {
554 var item: T = undefined;554 var item: T = undefined;
555 @memset(@ptrCast([*]u8, &item), 0, @sizeOf(T));555 set(u8, asBytes(&item), 0);
556 return item;556 return item;
557 } else {557 } else {
558 var structure: T = undefined;558 var structure: T = undefined;