From b993728f10c213b679def931c2f59c8e64b14660 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 14 Jul 2025 10:02:37 -0700 Subject: [PATCH] make it a behavior test instead It's important to check for correct runtime behavior, rather than only checking that the compiler does not crash. --- test/behavior/switch_loop.zig | 10 ++++++++++ test/cases/discard_labeled_switch_tag.zig | 12 ------------ 2 files changed, 10 insertions(+), 12 deletions(-) delete mode 100644 test/cases/discard_labeled_switch_tag.zig diff --git a/test/behavior/switch_loop.zig b/test/behavior/switch_loop.zig index 687ed466d9..98605692be 100644 --- a/test/behavior/switch_loop.zig +++ b/test/behavior/switch_loop.zig @@ -216,3 +216,13 @@ test "switch loop with pointer capture" { try S.doTheTest(); try comptime S.doTheTest(); } + +test "unanalyzed continue with operand" { + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + + @setRuntimeSafety(false); + label: switch (false) { + false => if (false) continue :label true, + true => {}, + } +} diff --git a/test/cases/discard_labeled_switch_tag.zig b/test/cases/discard_labeled_switch_tag.zig deleted file mode 100644 index 63aa304b40..0000000000 --- a/test/cases/discard_labeled_switch_tag.zig +++ /dev/null @@ -1,12 +0,0 @@ -// https://github.com/ziglang/zig/issues/24323 - -export fn f() void { - const x: u32 = 0; - sw: switch (x) { - else => if (false) continue :sw undefined, - } -} - -// compile -// backend=stage2,llvm -// target=native