aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/try.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2024-01-02 17:33:41 +0200
committerAndrew Kelley <andrew@ziglang.org>2024-01-06 16:49:41 -0800
commit804cee3b93cb7084c16ee61d3bcb57f7d3c9f0bc (patch)
tree3d8c534b1adc352b248255ef2906ef2bdf11dffc /test/behavior/try.zig
parent282ff8d3bd4a0d870a98f145aa87039e0409b745 (diff)
downloadzig-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.zig21
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());
+}