diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-01-18 20:12:11 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-01-18 20:12:11 +0000 |
commit | 0791c8e44c6fd1e7519df003dcb8c9e156916f46 (patch) | |
tree | 28468414f1ba4183859ebdf78c31f23b87ebda96 /crates/hir/src/semantics/source_to_def.rs | |
parent | 8164e2ea31ed0c169bc295acb6e13650576e5366 (diff) | |
parent | 57a82fb05b46fd028c0b971dc6ce317db3682146 (diff) |
Merge #7336
7336: Rename `CrateDefMap` to `DefMap` r=matklad a=jonas-schievink
I propose handling local items by computing a `DefMap` for every block expression, using the regular (early) name resolution algorithm. The result of that will be a `DefMap` that has a reference to the parent `DefMap`, which is either the one computed for the containing block expression, or the crate's root `DefMap`. Name resolution will fall back to a name in the parent `DefMap` if it cannot be resolved in the inner block.
The `DefMap`s computed for block expressions will go through a separate query that can be garbage-collected much more aggressively, since these `DefMap`s should be cheap to compute and are never part of a crate's public API.
The first step towards that is to make `CrateDefMap` not specific to crates anymore, hence this rename (if this plans sounds reasonable).
cc https://github.com/rust-analyzer/rust-analyzer/issues/7325 and https://github.com/rust-analyzer/rust-analyzer/issues/1165
Co-authored-by: Jonas Schievink <[email protected]>
Diffstat (limited to 'crates/hir/src/semantics/source_to_def.rs')
0 files changed, 0 insertions, 0 deletions