zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 453df1cc1e362005e5f302d151447dc062cce02f (tree)
parent f2d326607505f1f16d4964a824444aaa0da2c259
Author: Vexu <git@vexu.eu>
Date:   Fri,  8 May 2020 22:37:27 +0300

Merge pull request #4892 from Sobeston/patch-4

mem.zeroes - add sentinel terminated array support
Diffstat:
Mlib/std/mem.zig | 7+++++++
1 file changed, 7 insertions(+), 0 deletions(-)

diff --git a/lib/std/mem.zig b/lib/std/mem.zig @@ -382,6 +382,9 @@ pub fn zeroes(comptime T: type) T { } }, .Array => |info| { + if (info.sentinel) |sentinel| { + return [_:sentinel]info.child{zeroes(info.child)} ** info.len; + } return [_]info.child{zeroes(info.child)} ** info.len; }, .Vector, @@ -442,6 +445,7 @@ test "mem.zeroes" { array: [2]u32, optional_int: ?u8, empty: void, + sentinel: [3:0]u8, }; const b = zeroes(ZigStruct); @@ -466,6 +470,9 @@ test "mem.zeroes" { testing.expectEqual(@as(u32, 0), e); } testing.expectEqual(@as(?u8, null), b.optional_int); + for (b.sentinel) |e| { + testing.expectEqual(@as(u8, 0), e); + } } pub fn secureZero(comptime T: type, s: []T) void {