diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-09-10 23:09:09 +0300 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-09-20 19:05:00 -0700 |
| commit | 8f2e82dbf63aedc64af5c701c4798e9fbd51de72 (patch) | |
| tree | eb189f7eccfa65ca0fd5cebf7c06e4f62b40cae9 /test | |
| parent | 62ecc154d9ad065aee57d81afd3a478dd8360fb7 (diff) | |
| download | zig-8f2e82dbf63aedc64af5c701c4798e9fbd51de72.tar.gz zig-8f2e82dbf63aedc64af5c701c4798e9fbd51de72.zip | |
safety: show error return trace when unwrapping error in switch
Diffstat (limited to 'test')
| -rw-r--r-- | test/cases/safety/unwrap error switch.zig | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/cases/safety/unwrap error switch.zig b/test/cases/safety/unwrap error switch.zig new file mode 100644 index 0000000000..1df0253e09 --- /dev/null +++ b/test/cases/safety/unwrap error switch.zig @@ -0,0 +1,21 @@ +const std = @import("std"); + +pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace) noreturn { + _ = stack_trace; + if (std.mem.eql(u8, message, "attempt to unwrap error: Whatever")) { + std.process.exit(0); + } + std.process.exit(1); +} +pub fn main() !void { + bar() catch |err| switch (err) { + error.Whatever => unreachable, + }; + return error.TestFailed; +} +fn bar() !void { + return error.Whatever; +} +// run +// backend=llvm +// target=native |
