diff --git a/test/stage1/behavior.zig b/test/stage1/behavior.zig index 525d65d7fc..f7fc1c42a4 100644 --- a/test/stage1/behavior.zig +++ b/test/stage1/behavior.zig @@ -20,6 +20,7 @@ comptime { _ = @import("behavior/bugs/1486.zig"); _ = @import("behavior/bugs/1851.zig"); _ = @import("behavior/bugs/394.zig"); + _ = @import("behavior/bugs/421.zig"); _ = @import("behavior/bugs/655.zig"); _ = @import("behavior/bugs/656.zig"); _ = @import("behavior/bugs/726.zig"); diff --git a/test/stage1/behavior/bugs/421.zig b/test/stage1/behavior/bugs/421.zig new file mode 100644 index 0000000000..e5f67f61b7 --- /dev/null +++ b/test/stage1/behavior/bugs/421.zig @@ -0,0 +1,16 @@ +const assert = @import("std").debug.assert; + +test "bitCast to array" { + comptime testBitCastArray(); + testBitCastArray(); +} + +fn testBitCastArray() void { + assert(extractOne64(0x0123456789abcdef0123456789abcdef) == 0x0123456789abcdef); +} + +fn extractOne64(a: u128) u64 { + const x = @bitCast([2]u64, a); + return x[1]; +} +