aboutsummaryrefslogtreecommitdiff
path: root/crates/proc_macro_srv/src
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-01-14 10:00:46 +0000
committerGitHub <[email protected]>2021-01-14 10:00:46 +0000
commit184f4cbf5df909146b05aaa3b7f2f0b27ac36590 (patch)
treec9d803d2fefdc31278338fc67f6df8d1bf747a12 /crates/proc_macro_srv/src
parent39167b97d8a62adadecc9b67caac65ec556768cf (diff)
parentcca0dfa79ed968d41464eb7beb7aaa970e2d429f (diff)
Merge #7110
7110: Deduplicate macros when offering completion r=matklad a=AdnoC Closes https://github.com/rust-analyzer/rust-analyzer/issues/7081 When iterating over the names within the `hir_def::resolver::Scope` for a module, track what macros are in the `hir_def::item_scope::ItemScope::legacy_macros` collection for the module. When iterating over names from the prelude, do not proccess the name if it had been in the `legacy_macros` collection. This is implemented with a `FxHashSet` in the `Scope::process_names` function that is populated when iterating over `legacy_macros` and checked when iterating over the prelude. Alternative implementation could instead query the `legacy_macros` `FxHashMap` directly when processing names in the prelude. Also, I'd like to add a test for this, but I'm not sure where it could be added. Co-authored-by: AdnoC <[email protected]>
Diffstat (limited to 'crates/proc_macro_srv/src')
0 files changed, 0 insertions, 0 deletions