diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-06-07 16:19:21 +0300 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-06-07 21:27:06 +0300 |
| commit | d5e3d5d74cefd64287b92d148f78353cdb84e447 (patch) | |
| tree | 1207244ba87dd2bbbfacb9ba7f031d40f3b6b868 /test/behavior/error.zig | |
| parent | e9fc58eab77d60dfb02155ff17178b496d75d035 (diff) | |
| download | zig-d5e3d5d74cefd64287b92d148f78353cdb84e447.tar.gz zig-d5e3d5d74cefd64287b92d148f78353cdb84e447.zip | |
Sema: make `analyzeIsNonErr` even lazier for inferred error sets
Diffstat (limited to 'test/behavior/error.zig')
| -rw-r--r-- | test/behavior/error.zig | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/behavior/error.zig b/test/behavior/error.zig index b735d70d73..0fedd7dff0 100644 --- a/test/behavior/error.zig +++ b/test/behavior/error.zig @@ -754,3 +754,18 @@ test "error union payload is properly aligned" { const blk = S.foo() catch unreachable; if (blk.a != 1) unreachable; } + +test "ret_ptr doesn't cause own inferred error set to be resolved" { + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + + const S = struct { + fn foo() !void {} + + fn doTheTest() !void { + errdefer @compileError("bad"); + + return try @This().foo(); + } + }; + try S.doTheTest(); +} |
