aboutsummaryrefslogtreecommitdiff
path: root/test/cases/compile_errors/duplicate_error_in_switch.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-06-30 17:38:04 +0300
committerVeikka Tuominen <git@vexu.eu>2022-07-01 10:22:25 +0300
commite6ebf56dd6cf2e2c23af952d2e9e327703c9cd02 (patch)
tree5034cb50152f234c3dce7ad746e1f7c7af5fef9c /test/cases/compile_errors/duplicate_error_in_switch.zig
parentae7b32eb62cb00a09fe2e0e30b307eb83e9f0a86 (diff)
downloadzig-e6ebf56dd6cf2e2c23af952d2e9e327703c9cd02.tar.gz
zig-e6ebf56dd6cf2e2c23af952d2e9e327703c9cd02.zip
Sema: validate `@intToEnum` int operand type
Diffstat (limited to 'test/cases/compile_errors/duplicate_error_in_switch.zig')
-rw-r--r--test/cases/compile_errors/duplicate_error_in_switch.zig22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/cases/compile_errors/duplicate_error_in_switch.zig b/test/cases/compile_errors/duplicate_error_in_switch.zig
new file mode 100644
index 0000000000..6e9b1e9099
--- /dev/null
+++ b/test/cases/compile_errors/duplicate_error_in_switch.zig
@@ -0,0 +1,22 @@
+export fn entry() void {
+ foo(452) catch |err| switch (err) {
+ error.Foo => {},
+ error.Bar => {},
+ error.Foo => {},
+ else => {},
+ };
+}
+fn foo(x: i32) !void {
+ switch (x) {
+ 0 ... 10 => return error.Foo,
+ 11 ... 20 => return error.Bar,
+ else => {},
+ }
+}
+
+// error
+// backend=llvm
+// target=native
+//
+// :5:9: error: duplicate switch value
+// :3:9: note: other value here