diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/behavior.zig | 1 | ||||
| -rw-r--r-- | test/behavior/bugs/11165.zig | 42 |
2 files changed, 43 insertions, 0 deletions
diff --git a/test/behavior.zig b/test/behavior.zig index 7efe687c75..03d15645fa 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/11165.zig"); _ = @import("behavior/call.zig"); _ = @import("behavior/cast.zig"); _ = @import("behavior/comptime_memory.zig"); diff --git a/test/behavior/bugs/11165.zig b/test/behavior/bugs/11165.zig new file mode 100644 index 0000000000..d253c17b67 --- /dev/null +++ b/test/behavior/bugs/11165.zig @@ -0,0 +1,42 @@ +const builtin = @import("builtin"); + +test "bytes" { + const S = struct { + a: u32, + c: [5]u8, + }; + + const U = union { + s: S, + }; + + const s_1 = S{ + .a = undefined, + .c = "12345".*, // this caused problems + }; + _ = s_1; + + const u_2 = U{ .s = s_1 }; + _ = u_2; +} + +test "aggregate" { + const S = struct { + a: u32, + c: [5]u8, + }; + + const U = union { + s: S, + }; + + const c = [5:0]u8{ 1, 2, 3, 4, 5 }; + const s_1 = S{ + .a = undefined, + .c = c, // this caused problems + }; + _ = s_1; + + const u_2 = U{ .s = s_1 }; + _ = u_2; +} |
