diff options
Diffstat (limited to 'crates/ra_hir/src/nameres/collector.rs')
-rw-r--r-- | crates/ra_hir/src/nameres/collector.rs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/crates/ra_hir/src/nameres/collector.rs b/crates/ra_hir/src/nameres/collector.rs index af8ac064c..693c3fe8e 100644 --- a/crates/ra_hir/src/nameres/collector.rs +++ b/crates/ra_hir/src/nameres/collector.rs | |||
@@ -8,7 +8,7 @@ use ra_syntax::ast; | |||
8 | 8 | ||
9 | use crate::{ | 9 | use crate::{ |
10 | Function, Module, Struct, Union, Enum, Const, Static, Trait, TypeAlias, MacroDef, | 10 | Function, Module, Struct, Union, Enum, Const, Static, Trait, TypeAlias, MacroDef, |
11 | DefDatabase, HirFileId, Name, Path, | 11 | DefDatabase, HirFileId, Name, Path, AstDatabase, |
12 | KnownName, | 12 | KnownName, |
13 | nameres::{ | 13 | nameres::{ |
14 | Resolution, PerNs, ModuleDef, ReachedFixedPoint, ResolveMode, | 14 | Resolution, PerNs, ModuleDef, ReachedFixedPoint, ResolveMode, |
@@ -20,7 +20,10 @@ use crate::{ | |||
20 | AstId, | 20 | AstId, |
21 | }; | 21 | }; |
22 | 22 | ||
23 | pub(super) fn collect_defs(db: &impl DefDatabase, mut def_map: CrateDefMap) -> CrateDefMap { | 23 | pub(super) fn collect_defs( |
24 | db: &(impl DefDatabase + AstDatabase), | ||
25 | mut def_map: CrateDefMap, | ||
26 | ) -> CrateDefMap { | ||
24 | // populate external prelude | 27 | // populate external prelude |
25 | for dep in def_map.krate.dependencies(db) { | 28 | for dep in def_map.krate.dependencies(db) { |
26 | log::debug!("crate dep {:?} -> {:?}", dep.name, dep.krate); | 29 | log::debug!("crate dep {:?} -> {:?}", dep.name, dep.krate); |
@@ -93,7 +96,7 @@ struct DefCollector<DB> { | |||
93 | 96 | ||
94 | impl<'a, DB> DefCollector<&'a DB> | 97 | impl<'a, DB> DefCollector<&'a DB> |
95 | where | 98 | where |
96 | DB: DefDatabase, | 99 | DB: DefDatabase + AstDatabase, |
97 | { | 100 | { |
98 | fn collect(&mut self) { | 101 | fn collect(&mut self) { |
99 | let crate_graph = self.db.crate_graph(); | 102 | let crate_graph = self.db.crate_graph(); |
@@ -470,7 +473,7 @@ struct ModCollector<'a, D> { | |||
470 | 473 | ||
471 | impl<DB> ModCollector<'_, &'_ mut DefCollector<&'_ DB>> | 474 | impl<DB> ModCollector<'_, &'_ mut DefCollector<&'_ DB>> |
472 | where | 475 | where |
473 | DB: DefDatabase, | 476 | DB: DefDatabase + AstDatabase, |
474 | { | 477 | { |
475 | fn collect(&mut self, items: &[raw::RawItem]) { | 478 | fn collect(&mut self, items: &[raw::RawItem]) { |
476 | for item in items { | 479 | for item in items { |
@@ -615,7 +618,7 @@ fn is_macro_rules(path: &Path) -> bool { | |||
615 | } | 618 | } |
616 | 619 | ||
617 | fn resolve_submodule( | 620 | fn resolve_submodule( |
618 | db: &impl DefDatabase, | 621 | db: &(impl DefDatabase + AstDatabase), |
619 | file_id: HirFileId, | 622 | file_id: HirFileId, |
620 | name: &Name, | 623 | name: &Name, |
621 | is_root: bool, | 624 | is_root: bool, |
@@ -658,7 +661,7 @@ mod tests { | |||
658 | use rustc_hash::FxHashSet; | 661 | use rustc_hash::FxHashSet; |
659 | 662 | ||
660 | fn do_collect_defs( | 663 | fn do_collect_defs( |
661 | db: &impl DefDatabase, | 664 | db: &(impl DefDatabase + AstDatabase), |
662 | def_map: CrateDefMap, | 665 | def_map: CrateDefMap, |
663 | monitor: MacroStackMonitor, | 666 | monitor: MacroStackMonitor, |
664 | ) -> CrateDefMap { | 667 | ) -> CrateDefMap { |