diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-03-28 12:23:19 +0300 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-03-28 13:05:08 -0700 |
| commit | a415fe0bc083159cf4bca6984636a564589e9789 (patch) | |
| tree | 037e4548b04cbdde0eca8d07c3210a83fa1f4dec /test/behavior/basic.zig | |
| parent | 3c4ac47e00d961186c8728df964a29a33275514c (diff) | |
| download | zig-a415fe0bc083159cf4bca6984636a564589e9789.tar.gz zig-a415fe0bc083159cf4bca6984636a564589e9789.zip | |
AstGen: clear rl_ty_inst in setBreakResultLoc if one is not provided
Diffstat (limited to 'test/behavior/basic.zig')
| -rw-r--r-- | test/behavior/basic.zig | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/behavior/basic.zig b/test/behavior/basic.zig index e0e0f25569..6c21b8dd6c 100644 --- a/test/behavior/basic.zig +++ b/test/behavior/basic.zig @@ -854,3 +854,24 @@ test "labeled block implicitly ends in a break" { if (a) break :blk; } } + +test "catch in block has correct result location" { + if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; + + const S = struct { + fn open() error{A}!@This() { + return @This(){}; + } + fn foo(_: @This()) u32 { + return 1; + } + }; + const config_h_text: u32 = blk: { + var dir = S.open() catch unreachable; + break :blk dir.foo(); + }; + try expect(config_h_text == 1); +} |
