diff options
author | uHOOCCOOHu <[email protected]> | 2019-09-07 17:05:58 +0100 |
---|---|---|
committer | uHOOCCOOHu <[email protected]> | 2019-09-08 18:34:53 +0100 |
commit | f7f7c2aff80f0870f0d71bf70075e3b5bf68994f (patch) | |
tree | 194c41ab1320730d7f08823127404056e235cf2e /crates/ra_hir/src/nameres/collector.rs | |
parent | c90256429bf41958ff6c7390dfd5fa25123eabb3 (diff) |
Revert "Replace with immutable map to avoid heavy cloning"
This reverts commit 2c494eb803c88ef5d23607c3b156fce60c2b8076.
See: https://github.com/rust-analyzer/rust-analyzer/pull/1784#issuecomment-529119924
Diffstat (limited to 'crates/ra_hir/src/nameres/collector.rs')
-rw-r--r-- | crates/ra_hir/src/nameres/collector.rs | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/crates/ra_hir/src/nameres/collector.rs b/crates/ra_hir/src/nameres/collector.rs index 3803c7185..10c32ffa1 100644 --- a/crates/ra_hir/src/nameres/collector.rs +++ b/crates/ra_hir/src/nameres/collector.rs | |||
@@ -631,7 +631,6 @@ where | |||
631 | modules[res].parent = Some(self.module_id); | 631 | modules[res].parent = Some(self.module_id); |
632 | modules[res].declaration = Some(declaration); | 632 | modules[res].declaration = Some(declaration); |
633 | modules[res].definition = definition; | 633 | modules[res].definition = definition; |
634 | // Cloning immutable map is lazy and fast | ||
635 | modules[res].scope.textual_macros = modules[self.module_id].scope.textual_macros.clone(); | 634 | modules[res].scope.textual_macros = modules[self.module_id].scope.textual_macros.clone(); |
636 | modules[self.module_id].children.insert(name.clone(), res); | 635 | modules[self.module_id].children.insert(name.clone(), res); |
637 | let resolution = Resolution { | 636 | let resolution = Resolution { |
@@ -708,8 +707,6 @@ where | |||
708 | } | 707 | } |
709 | 708 | ||
710 | fn import_all_textual_macros(&mut self, module_id: CrateModuleId) { | 709 | fn import_all_textual_macros(&mut self, module_id: CrateModuleId) { |
711 | // `clone()` is needed here to avoid mutable borrow `self.def_collector` when first borrow is alive | ||
712 | // Cloning immutable map is lazy and fast | ||
713 | let macros = self.def_collector.def_map[module_id].scope.textual_macros.clone(); | 710 | let macros = self.def_collector.def_map[module_id].scope.textual_macros.clone(); |
714 | for (name, macro_) in macros { | 711 | for (name, macro_) in macros { |
715 | self.def_collector.define_textual_macro(self.module_id, name.clone(), macro_.id); | 712 | self.def_collector.define_textual_macro(self.module_id, name.clone(), macro_.id); |