aboutsummaryrefslogtreecommitdiff
path: root/test/cases/compile_errors/switch_expression-unreachable_else_prong_enum.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-06-27 18:32:59 +0300
committerJakub Konka <kubkon@jakubkonka.com>2022-06-30 09:57:38 +0200
commit3204d00a5e7fe119b690e921138a439fb84dff5b (patch)
tree40dba7f0816a1a8cae35657aa0d6bcb0ec19b6ba /test/cases/compile_errors/switch_expression-unreachable_else_prong_enum.zig
parentc248af3bdcd17c334e742d53a7ac7bda2422a688 (diff)
downloadzig-3204d00a5e7fe119b690e921138a439fb84dff5b.tar.gz
zig-3204d00a5e7fe119b690e921138a439fb84dff5b.zip
move passing stage1 compile error tests to stage2
Diffstat (limited to 'test/cases/compile_errors/switch_expression-unreachable_else_prong_enum.zig')
-rw-r--r--test/cases/compile_errors/switch_expression-unreachable_else_prong_enum.zig24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/cases/compile_errors/switch_expression-unreachable_else_prong_enum.zig b/test/cases/compile_errors/switch_expression-unreachable_else_prong_enum.zig
new file mode 100644
index 0000000000..21440a63a1
--- /dev/null
+++ b/test/cases/compile_errors/switch_expression-unreachable_else_prong_enum.zig
@@ -0,0 +1,24 @@
+const TestEnum = enum{ T1, T2 };
+
+fn err(x: u8) TestEnum {
+ switch (x) {
+ 0 => return TestEnum.T1,
+ else => return TestEnum.T2,
+ }
+}
+
+fn foo(x: u8) void {
+ switch (err(x)) {
+ TestEnum.T1 => {},
+ TestEnum.T2 => {},
+ else => {},
+ }
+}
+
+export fn entry() usize { return @sizeOf(@TypeOf(&foo)); }
+
+// error
+// backend=stage2
+// target=native
+//
+// :14:14: error: unreachable else prong; all cases already handled