authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-02-19 17:47:57-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-02-19 21:18:27-07:00
logffdce5f98c7f3d7e18db933e1fb54f987efd5fbf
tree2b8ce5271e2313947559bfddcf4bd7a034198e19
parent53104b91656182094a4048964f6a3f384e7f199f

add test coverage for fixed bug. closes #5497


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

test/behavior/struct.zig+35
......@@ -1578,3 +1578,38 @@ test "directly initiating tuple like struct" {
15781578 const a = struct { u8 }{8};
15791579 try expect(a[0] == 8);
15801580}
1581
1582test "instantiate struct with comptime field" {
1583 {
1584 var things = struct {
1585 comptime foo: i8 = 1,
1586 }{};
1587
1588 comptime std.debug.assert(things.foo == 1);
1589 }
1590
1591 {
1592 const T = struct {
1593 comptime foo: i8 = 1,
1594 };
1595 var things = T{};
1596
1597 comptime std.debug.assert(things.foo == 1);
1598 }
1599
1600 {
1601 var things: struct {
1602 comptime foo: i8 = 1,
1603 } = .{};
1604
1605 comptime std.debug.assert(things.foo == 1);
1606 }
1607
1608 {
1609 var things: struct {
1610 comptime foo: i8 = 1,
1611 } = undefined; // Segmentation fault at address 0x0
1612
1613 comptime std.debug.assert(things.foo == 1);
1614 }
1615}