diff options
| author | Veikka Tuominen <git@vexu.eu> | 2024-01-02 17:33:41 +0200 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2024-01-06 16:49:41 -0800 |
| commit | 804cee3b93cb7084c16ee61d3bcb57f7d3c9f0bc (patch) | |
| tree | 3d8c534b1adc352b248255ef2906ef2bdf11dffc /test/behavior/try.zig | |
| parent | 282ff8d3bd4a0d870a98f145aa87039e0409b745 (diff) | |
| download | zig-804cee3b93cb7084c16ee61d3bcb57f7d3c9f0bc.tar.gz zig-804cee3b93cb7084c16ee61d3bcb57f7d3c9f0bc.zip | |
categorize `behavior/bugs/<issueno>.zig` tests
Diffstat (limited to 'test/behavior/try.zig')
| -rw-r--r-- | test/behavior/try.zig | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/behavior/try.zig b/test/behavior/try.zig index d2ac927338..cc76658e93 100644 --- a/test/behavior/try.zig +++ b/test/behavior/try.zig @@ -45,3 +45,24 @@ test "try then not executed with assignment" { try expect(err == error.ItBroke); } } + +test "`try`ing an if/else expression" { + if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; + + const S = struct { + fn getError() !void { + return error.Test; + } + + fn getError2() !void { + var a: u8 = 'c'; + _ = &a; + try if (a == 'a') getError() else if (a == 'b') getError() else getError(); + } + }; + + try std.testing.expectError(error.Test, S.getError2()); +} |
