authorgravatar for topolarity@tapscott.meCody Tapscott <topolarity@tapscott.me> 2022-03-14 10:37:23-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-03-14 21:43:02-07:00
log50a1ca24ca2a4311097132d660b8244f252da82f
tree90eafce733d02e4d0eacbbb561345bc70f7f3a82
parent1f76b4c6b84c1fd7d370bde75b8e37822bd85086

Add test for issue #11139


2 files changed, 26 insertions(+), 0 deletions(-)

test/behavior.zig+1
...@@ -62,6 +62,7 @@ test {...@@ -62,6 +62,7 @@ test {
62 _ = @import("behavior/bugs/11100.zig");62 _ = @import("behavior/bugs/11100.zig");
63 _ = @import("behavior/bugs/10970.zig");63 _ = @import("behavior/bugs/10970.zig");
64 _ = @import("behavior/bugs/11046.zig");64 _ = @import("behavior/bugs/11046.zig");
65 _ = @import("behavior/bugs/11139.zig");
65 _ = @import("behavior/bugs/11165.zig");66 _ = @import("behavior/bugs/11165.zig");
66 _ = @import("behavior/call.zig");67 _ = @import("behavior/call.zig");
67 _ = @import("behavior/cast.zig");68 _ = @import("behavior/cast.zig");
test/behavior/bugs/11139.zig created+25
...@@ -0,0 +1,25 @@
1const std = @import("std");
2const builtin = @import("builtin");
3const expect = std.testing.expect;
4
5test "store array of array of structs at comptime" {
6 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
8 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
9
10 try expect(storeArrayOfArrayOfStructs() == 15);
11 comptime try expect(storeArrayOfArrayOfStructs() == 15);
12}
13
14fn storeArrayOfArrayOfStructs() u8 {
15 const S = struct {
16 x: u8,
17 };
18
19 var cases = [_][1]S{
20 [_]S{
21 S{ .x = 15 },
22 },
23 };
24 return cases[0][0].x;
25}