aboutsummaryrefslogtreecommitdiff
path: root/src/InternPool.zig
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2023-06-13 15:17:31 +0100
committermlugg <mlugg@mlugg.co.uk>2023-06-13 21:48:18 +0100
commitc9531eb833e1e2c432dc2bfb0ca3b25622b7001e (patch)
tree7cdae51f8762b670aed003b3654ff429a731146d /src/InternPool.zig
parent854f26ad8ac8dc39ef7ad60f86588c0c5dba131a (diff)
downloadzig-c9531eb833e1e2c432dc2bfb0ca3b25622b7001e.tar.gz
zig-c9531eb833e1e2c432dc2bfb0ca3b25622b7001e.zip
Sema: rewrite peer type resolution
The existing logic for peer type resolution was quite convoluted and buggy. This rewrite makes it much more resilient, readable, and extensible. The algorithm works by first iterating over the types to select a "strategy", then applying that strategy, possibly applying peer resolution recursively. Several new tests have been added to cover cases which the old logic did not correctly handle. Resolves: #15138 Resolves: #15644 Resolves: #15693 Resolves: #15709 Resolves: #15752
Diffstat (limited to 'src/InternPool.zig')
0 files changed, 0 insertions, 0 deletions