authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-07-26 17:25:54-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-07-26 19:02:02-07:00
log2936602566c5c460abae350a6d59c1da0e0989ee
tree59a3e63e42d2f7faf729e20b9d3d1e8540a11624
parent87961237cf5ef8a2bdad39a8d30ec0fe0c998782

add behavior test for union with 128 bit integer

closes #9871

1 files changed, 21 insertions(+), 0 deletions(-)

test/behavior/union.zig+21
...@@ -1692,3 +1692,24 @@ test "packed union field pointer has correct alignment" {...@@ -1692,3 +1692,24 @@ test "packed union field pointer has correct alignment" {
1692 try expectEqual(@as(u20, 456), bp.*);1692 try expectEqual(@as(u20, 456), bp.*);
1693 try expectEqual(@as(u20, 789), cp.*);1693 try expectEqual(@as(u20, 789), cp.*);
1694}1694}
1695
1696test "union with 128 bit integer" {
1697 const ValueTag = enum { int, other };
1698
1699 const Value3 = union(ValueTag) {
1700 int: i128,
1701 other: bool,
1702 };
1703 var values: [2]Value3 = undefined;
1704 values[0] = .{ .int = 3 };
1705 values[1] = .{ .int = 4 };
1706
1707 var ok: usize = 0;
1708
1709 for (values) |val| {
1710 switch (val) {
1711 .int => ok += 1,
1712 else => return error.TestFailed,
1713 }
1714 }
1715}