diff options
| author | dweiller <4678790+dweiller@users.noreply.github.com> | 2023-11-30 19:12:47 +1100 |
|---|---|---|
| committer | dweiller <4678790+dweiller@users.noreply.github.com> | 2024-01-09 14:42:12 +1100 |
| commit | 69ab687156f1099570ec2208efae8be6883073c0 (patch) | |
| tree | 9b6f3361e5bfe5028b265afbbe426309d12055ec /test/cases/compile_errors/switch_expression-missing_error_prong.zig | |
| parent | fc6dc797ceff35c5bbaa51d914a62256bab3c409 (diff) | |
| download | zig-69ab687156f1099570ec2208efae8be6883073c0.tar.gz zig-69ab687156f1099570ec2208efae8be6883073c0.zip | |
test: add tests for switch_block_err_union
Diffstat (limited to 'test/cases/compile_errors/switch_expression-missing_error_prong.zig')
| -rw-r--r-- | test/cases/compile_errors/switch_expression-missing_error_prong.zig | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/cases/compile_errors/switch_expression-missing_error_prong.zig b/test/cases/compile_errors/switch_expression-missing_error_prong.zig new file mode 100644 index 0000000000..ee28057c43 --- /dev/null +++ b/test/cases/compile_errors/switch_expression-missing_error_prong.zig @@ -0,0 +1,33 @@ +const Error = error { + One, + Two, + Three, + Four, +}; +fn f(n: Error!i32) i32 { + if (n) |x| x else |e| switch (e) { + error.One => 1, + error.Two => 2, + error.Three => 3, + } +} +fn h(n: Error!i32) i32 { + n catch |e| switch (e) { + error.One => 1, + error.Two => 2, + error.Three => 3, + }; +} + +export fn entry() usize { + return @sizeOf(@TypeOf(&f)) + @sizeOf(@TypeOf(&h)); +} + +// error +// backend=stage2 +// target=native +// +// :8:27: error: switch must handle all possibilities +// :8:27: note: unhandled error value: 'error.Four' +// :15:17: error: switch must handle all possibilities +// :15:17: note: unhandled error value: 'error.Four' |
