Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/lib.rs')
-rw-r--r--crates/hir/src/lib.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index e2cf5b0789..32b14c383a 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -497,10 +497,9 @@ impl Module {
/// Finds a parent module.
pub fn parent(self, db: &dyn HirDatabase) -> Option<Module> {
- // FIXME: handle block expressions as modules (their parent is in a different DefMap)
let def_map = self.id.def_map(db.upcast());
- let parent_id = def_map[self.id.local_id].parent?;
- Some(Module { id: def_map.module_id(parent_id) })
+ let parent_id = def_map.containing_module(self.id.local_id)?;
+ Some(Module { id: parent_id })
}
/// Finds nearest non-block ancestor `Module` (`self` included).