aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/switch.zig
diff options
context:
space:
mode:
Diffstat (limited to 'test/behavior/switch.zig')
-rw-r--r--test/behavior/switch.zig24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/behavior/switch.zig b/test/behavior/switch.zig
index 1cec0dfad4..f1ded573a0 100644
--- a/test/behavior/switch.zig
+++ b/test/behavior/switch.zig
@@ -961,3 +961,27 @@ test "block error return trace index is reset between prongs" {
};
try result;
}
+
+test "labeled switch with break" {
+ var six: u32 = undefined;
+ six = 6;
+
+ const val = s: switch (six) {
+ 0...4 => break :s false,
+ 5 => break :s false,
+ 6...7 => break :s true,
+ else => break :s false,
+ };
+
+ try expect(val);
+
+ // Make sure the switch is implicitly comptime!
+ const comptime_val = s: switch (@as(u32, 6)) {
+ 0...4 => break :s false,
+ 5 => break :s false,
+ 6...7 => break :s true,
+ else => break :s false,
+ };
+
+ comptime assert(comptime_val);
+}