From 30ae7f7573b7dcc3cd85f9e4cbab4e5608fdb3dd Mon Sep 17 00:00:00 2001 From: Alexandros Naskos Date: Wed, 1 Jul 2020 00:33:35 +0300 Subject: [PATCH] Corrected default value field initialization in std.zeroInit --- lib/std/mem.zig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/std/mem.zig b/lib/std/mem.zig index 6bde83f782..08ecc5167f 100644 --- a/lib/std/mem.zig +++ b/lib/std/mem.zig @@ -720,8 +720,8 @@ pub fn zeroInit(comptime T: type, init: var) T { @field(value, field.name) = @field(init, field.name); }, } - } else if (field.default_value != null) { - @field(value, field.name) = field.default_value; + } else if (field.default_value) |default_value| { + @field(value, field.name) = default_value; } } @@ -748,7 +748,7 @@ test "zeroInit" { b: ?bool, c: I, e: [3]u8, - f: i64, + f: i64 = -1, }; const s = zeroInit(S, .{ @@ -762,7 +762,7 @@ test "zeroInit" { .d = 0, }, .e = [3]u8{ 0, 0, 0 }, - .f = 0, + .f = -1, }); }