aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCody Tapscott <topolarity@tapscott.me>2022-03-14 10:37:23 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-03-14 21:43:02 -0700
commit50a1ca24ca2a4311097132d660b8244f252da82f (patch)
tree90eafce733d02e4d0eacbbb561345bc70f7f3a82
parent1f76b4c6b84c1fd7d370bde75b8e37822bd85086 (diff)
downloadzig-50a1ca24ca2a4311097132d660b8244f252da82f.tar.gz
zig-50a1ca24ca2a4311097132d660b8244f252da82f.zip
Add test for issue #11139
-rw-r--r--test/behavior.zig1
-rw-r--r--test/behavior/bugs/11139.zig25
2 files changed, 26 insertions, 0 deletions
diff --git a/test/behavior.zig b/test/behavior.zig
index 22298ef191..987c8c3473 100644
--- a/test/behavior.zig
+++ b/test/behavior.zig
@@ -62,6 +62,7 @@ test {
_ = @import("behavior/bugs/11100.zig");
_ = @import("behavior/bugs/10970.zig");
_ = @import("behavior/bugs/11046.zig");
+ _ = @import("behavior/bugs/11139.zig");
_ = @import("behavior/bugs/11165.zig");
_ = @import("behavior/call.zig");
_ = @import("behavior/cast.zig");
diff --git a/test/behavior/bugs/11139.zig b/test/behavior/bugs/11139.zig
new file mode 100644
index 0000000000..a3714ec5ba
--- /dev/null
+++ b/test/behavior/bugs/11139.zig
@@ -0,0 +1,25 @@
+const std = @import("std");
+const builtin = @import("builtin");
+const expect = std.testing.expect;
+
+test "store array of array of structs at comptime" {
+ if (builtin.zig_backend == .stage2_c) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
+
+ try expect(storeArrayOfArrayOfStructs() == 15);
+ comptime try expect(storeArrayOfArrayOfStructs() == 15);
+}
+
+fn storeArrayOfArrayOfStructs() u8 {
+ const S = struct {
+ x: u8,
+ };
+
+ var cases = [_][1]S{
+ [_]S{
+ S{ .x = 15 },
+ },
+ };
+ return cases[0][0].x;
+}