diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-01-25 18:24:04 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-01-25 18:24:04 +0000 |
commit | a37091d2d0175b0999d6383d48f538cdbf0267a0 (patch) | |
tree | 06981374f0c397b45e31b74c97ed337853fe59d2 /crates/ide_db | |
parent | 2c735ed734be9b9041921478e0049fffd7160f78 (diff) | |
parent | 08253d5473348e2f3061e0c8d84c62de537a5821 (diff) |
Merge #7431
7431: Handle `super` paths inside blocks correctly r=jonas-schievink a=jonas-schievink
We now intern `BlockLoc` and use `BlockId` to refer to block expressions. This is needed to keep `ModuleId` simple, since it would otherwise have to store an arbitrarily long chain of blocks and couldn't be `Copy`.
The `DefMap` hierarchy is now created as the caller descends into an item body. This is necessary to link the correct module as the block's parent, which is important for correct name resolution.
As a result, we can now resolve `super` paths inside block expressions by climbing the `DefMap` chain.
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
Diffstat (limited to 'crates/ide_db')
0 files changed, 0 insertions, 0 deletions