diff options
| author | Veikka Tuominen <git@vexu.eu> | 2024-01-29 11:57:29 +0200 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2024-01-29 13:48:45 +0200 |
| commit | f7822029100de9f91c9a7758ffb32d95f7768f70 (patch) | |
| tree | 551ee2c7a6600facd02e27c62650483f89ba0986 /test/behavior/error.zig | |
| parent | abb8e7478d365088301a9390c12f86b2ad381ce9 (diff) | |
| download | zig-f7822029100de9f91c9a7758ffb32d95f7768f70.tar.gz zig-f7822029100de9f91c9a7758ffb32d95f7768f70.zip | |
Sema: do not emit `@errorCast` safety check when dest is adhoc inferred error set
Closes #17354
Diffstat (limited to 'test/behavior/error.zig')
| -rw-r--r-- | test/behavior/error.zig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/behavior/error.zig b/test/behavior/error.zig index 1d5457fa3a..8e4dd2c091 100644 --- a/test/behavior/error.zig +++ b/test/behavior/error.zig @@ -1027,3 +1027,15 @@ test "generic type constructed from inferred error set of unresolved function" { }; _ = std.io.multiWriter(.{S.writer()}); } + +test "errorCast to adhoc inferred error set" { + const S = struct { + inline fn baz() !i32 { + return @errorCast(err()); + } + fn err() anyerror!i32 { + return 1234; + } + }; + try std.testing.expect((try S.baz()) == 1234); +} |
