authorgravatar for yujiri@disroot.orgEvin Yulo <yujiri@disroot.org> 2022-12-10 02:50:37+00:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-12-16 18:21:56+02:00
log8c8f6bfa642bf69a997bb64dc9bc7c89f7b86c3c
treef113433b25d47d2415e6d75a5e402f2242677a49
parentb5d1df091b3c2b8943a1bdece5d48a4355489a4e

Add test for #13366

Closes #13366

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

test/behavior.zig+1
......@@ -128,6 +128,7 @@ test {
128128 _ = @import("behavior/bugs/13171.zig");
129129 _ = @import("behavior/bugs/13209.zig");
130130 _ = @import("behavior/bugs/13285.zig");
131 _ = @import("behavior/bugs/13366.zig");
131132 _ = @import("behavior/bugs/13435.zig");
132133 _ = @import("behavior/bugs/13664.zig");
133134 _ = @import("behavior/bugs/13714.zig");
test/behavior/bugs/13366.zig created+28
......@@ -0,0 +1,28 @@
1const builtin = @import("builtin");
2const std = @import("std");
3const expect = std.testing.expect;
4
5const ComptimeReason = union(enum) {
6 c_import: struct {
7 a: u32,
8 },
9};
10
11const Block = struct {
12 reason: ?*const ComptimeReason,
13};
14
15test {
16 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
17 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
18 if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
19 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
20 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
21
22 var a: u32 = 16;
23 var reason = .{ .c_import = .{ .a = a } };
24 var block = Block{
25 .reason = &reason,
26 };
27 try expect(block.reason.?.c_import.a == 16);
28}