aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/code_model.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/code_model.rs')
-rw-r--r--crates/ra_hir/src/code_model.rs17
1 files changed, 11 insertions, 6 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs
index 500b34c17..eaacf8c9e 100644
--- a/crates/ra_hir/src/code_model.rs
+++ b/crates/ra_hir/src/code_model.rs
@@ -119,7 +119,7 @@ impl_froms!(
119 BuiltinType 119 BuiltinType
120); 120);
121 121
122pub use hir_def::{attr::Attrs, visibility::Visibility, AssocItemId}; 122pub use hir_def::{attr::Attrs, item_scope::ItemInNs, visibility::Visibility, AssocItemId};
123use rustc_hash::FxHashSet; 123use rustc_hash::FxHashSet;
124 124
125impl Module { 125impl Module {
@@ -238,11 +238,16 @@ impl Module {
238 item: ModuleDef, 238 item: ModuleDef,
239 ) -> Option<hir_def::path::ModPath> { 239 ) -> Option<hir_def::path::ModPath> {
240 // FIXME expose namespace choice 240 // FIXME expose namespace choice
241 hir_def::find_path::find_path( 241 hir_def::find_path::find_path(db, determine_item_namespace(item), self.into())
242 db, 242 }
243 hir_def::item_scope::ItemInNs::Types(item.into()), 243}
244 self.into(), 244
245 ) 245fn determine_item_namespace(module_def: ModuleDef) -> ItemInNs {
246 match module_def {
247 ModuleDef::Static(_) | ModuleDef::Const(_) | ModuleDef::Function(_) => {
248 ItemInNs::Values(module_def.into())
249 }
250 _ => ItemInNs::Types(module_def.into()),
246 } 251 }
247} 252}
248 253