aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/behavior/switch.zig14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/behavior/switch.zig b/test/behavior/switch.zig
index 6df3656760..3ec49a060a 100644
--- a/test/behavior/switch.zig
+++ b/test/behavior/switch.zig
@@ -299,3 +299,17 @@ fn testSwitchHandleAllCasesRange(x: u8) u8 {
204...255 => 3,
};
}
+
+test "switch on union with some prongs capturing" {
+ const X = union(enum) {
+ a,
+ b: i32,
+ };
+
+ var x: X = X{ .b = 10 };
+ var y: i32 = switch (x) {
+ .a => unreachable,
+ .b => |b| b + 1,
+ };
+ try expect(y == 11);
+}