commit ffdce5f98c7f3d7e18db933e1fb54f987efd5fbf (tree) parent 53104b91656182094a4048964f6a3f384e7f199f Author: Andrew Kelley <andrew@ziglang.org> Date: Sun, 19 Feb 2023 17:47:57 -0700 add test coverage for fixed bug. closes #5497 Diffstat:
| M | test/behavior/struct.zig | | | 35 | +++++++++++++++++++++++++++++++++++ |
1 file changed, 35 insertions(+), 0 deletions(-)
diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig @@ -1578,3 +1578,38 @@ test "directly initiating tuple like struct" { const a = struct { u8 }{8}; try expect(a[0] == 8); } + +test "instantiate struct with comptime field" { + { + var things = struct { + comptime foo: i8 = 1, + }{}; + + comptime std.debug.assert(things.foo == 1); + } + + { + const T = struct { + comptime foo: i8 = 1, + }; + var things = T{}; + + comptime std.debug.assert(things.foo == 1); + } + + { + var things: struct { + comptime foo: i8 = 1, + } = .{}; + + comptime std.debug.assert(things.foo == 1); + } + + { + var things: struct { + comptime foo: i8 = 1, + } = undefined; // Segmentation fault at address 0x0 + + comptime std.debug.assert(things.foo == 1); + } +}