aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-03-25 11:51:40 +0200
committerVeikka Tuominen <git@vexu.eu>2022-03-25 22:30:35 +0200
commita4c5ec49f1781054ef9394fe114e4338ed9970d4 (patch)
treee9eae84685bb5432a76b65189614dcc93a985710 /src
parent9a127501f68d6034367094915ad53e8d57495786 (diff)
downloadzig-a4c5ec49f1781054ef9394fe114e4338ed9970d4.tar.gz
zig-a4c5ec49f1781054ef9394fe114e4338ed9970d4.zip
Sema: add error for empty switch
Diffstat (limited to 'src')
-rw-r--r--src/Sema.zig3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index a42a4caf38..d9eea3e811 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -7743,6 +7743,9 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError
}
if (scalar_cases_len + multi_cases_len == 0) {
+ if (special_prong == .none) {
+ return sema.fail(block, src, "switch must handle all possibilities", .{});
+ }
return sema.resolveBlockBody(block, src, &child_block, special.body, inst, merges);
}