diff options
| author | Matthew Lugg <mlugg@mlugg.co.uk> | 2025-12-20 19:03:22 +0000 |
|---|---|---|
| committer | Matthew Lugg <mlugg@mlugg.co.uk> | 2025-12-21 13:07:03 +0000 |
| commit | 5611779f391c9ae48c0abf7662b1e9020be6ea14 (patch) | |
| tree | 0f9ea2887ce855db832743c9c73f0033161b9118 /lib/std/Build/Cache/Directory.zig | |
| parent | 3f08073f7d2f0cd8aa086f1618a74106bf35086d (diff) | |
| download | zig-5611779f391c9ae48c0abf7662b1e9020be6ea14.tar.gz zig-5611779f391c9ae48c0abf7662b1e9020be6ea14.zip | |
Sema: fix nested error union coercions
Previously, `E1!void` failed to coerce to `E2!E1!void` because it tried
to coerce the `E1` error to an `E2` if comptime-known and refused to
attempt any other coercion. This is a strange language rule with no
clear justification, and breaks real use cases (such as calling `getOne`
on an `Io.Queue(E!T)`). Instead, only error *sets* should try to coerce
to an "error" value of an error union type.
Diffstat (limited to 'lib/std/Build/Cache/Directory.zig')
0 files changed, 0 insertions, 0 deletions
