diff options
Diffstat (limited to 'crates/ra_hir/src/from_source.rs')
-rw-r--r-- | crates/ra_hir/src/from_source.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/crates/ra_hir/src/from_source.rs b/crates/ra_hir/src/from_source.rs index 071ca2e5a..307f3d5bf 100644 --- a/crates/ra_hir/src/from_source.rs +++ b/crates/ra_hir/src/from_source.rs | |||
@@ -216,8 +216,10 @@ impl Module { | |||
216 | } | 216 | } |
217 | }?; | 217 | }?; |
218 | 218 | ||
219 | let child_name = src.value.name()?; | 219 | let child_name = src.value.name()?.as_name(); |
220 | parent_module.child(db, &child_name.as_name()) | 220 | let def_map = db.crate_def_map(parent_module.id.krate); |
221 | let child_id = def_map[parent_module.id.local_id].children.get(&child_name)?; | ||
222 | Some(parent_module.with_module_id(*child_id)) | ||
221 | } | 223 | } |
222 | 224 | ||
223 | pub fn from_definition(db: &impl DefDatabase, src: InFile<ModuleSource>) -> Option<Self> { | 225 | pub fn from_definition(db: &impl DefDatabase, src: InFile<ModuleSource>) -> Option<Self> { |