From 8c8f6bfa642bf69a997bb64dc9bc7c89f7b86c3c Mon Sep 17 00:00:00 2001 From: Evin Yulo Date: Sat, 10 Dec 2022 02:50:37 +0000 Subject: Add test for #13366 Closes #13366 --- test/behavior.zig | 1 + test/behavior/bugs/13366.zig | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 test/behavior/bugs/13366.zig diff --git a/test/behavior.zig b/test/behavior.zig index c632d39eb9..5bb76b4f3f 100644 --- a/test/behavior.zig +++ b/test/behavior.zig @@ -128,6 +128,7 @@ test { _ = @import("behavior/bugs/13171.zig"); _ = @import("behavior/bugs/13209.zig"); _ = @import("behavior/bugs/13285.zig"); + _ = @import("behavior/bugs/13366.zig"); _ = @import("behavior/bugs/13435.zig"); _ = @import("behavior/bugs/13664.zig"); _ = @import("behavior/bugs/13714.zig"); diff --git a/test/behavior/bugs/13366.zig b/test/behavior/bugs/13366.zig new file mode 100644 index 0000000000..ff90ee00c3 --- /dev/null +++ b/test/behavior/bugs/13366.zig @@ -0,0 +1,28 @@ +const builtin = @import("builtin"); +const std = @import("std"); +const expect = std.testing.expect; + +const ComptimeReason = union(enum) { + c_import: struct { + a: u32, + }, +}; + +const Block = struct { + reason: ?*const ComptimeReason, +}; + +test { + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + + var a: u32 = 16; + var reason = .{ .c_import = .{ .a = a } }; + var block = Block{ + .reason = &reason, + }; + try expect(block.reason.?.c_import.a == 16); +} -- cgit v1.2.3