zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 8c8f6bfa642bf69a997bb64dc9bc7c89f7b86c3c (tree)
parent b5d1df091b3c2b8943a1bdece5d48a4355489a4e
Author: Evin Yulo <yujiri@disroot.org>
Date:   Sat, 10 Dec 2022 02:50:37 +0000

Add test for #13366

Closes #13366

Diffstat:
Mtest/behavior.zig | 1+
Atest/behavior/bugs/13366.zig | 28++++++++++++++++++++++++++++
2 files changed, 29 insertions(+), 0 deletions(-)

diff --git 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 @@ -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); +}