Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/lib.rs')
-rw-r--r--crates/hir-def/src/lib.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/crates/hir-def/src/lib.rs b/crates/hir-def/src/lib.rs
index 1f06331783..cf97d27fd1 100644
--- a/crates/hir-def/src/lib.rs
+++ b/crates/hir-def/src/lib.rs
@@ -1357,6 +1357,12 @@ impl HasModule for VariantId {
}
}
+impl HasModule for FieldId {
+ fn module(&self, db: &dyn DefDatabase) -> ModuleId {
+ self.parent.module(db)
+ }
+}
+
impl HasModule for MacroId {
fn module(&self, db: &dyn DefDatabase) -> ModuleId {
match *self {
@@ -1380,11 +1386,7 @@ impl HasModule for TypeOwnerId {
TypeOwnerId::ImplId(it) => it.module(db),
TypeOwnerId::EnumVariantId(it) => it.module(db),
TypeOwnerId::InTypeConstId(it) => it.lookup(db).owner.module(db),
- TypeOwnerId::FieldId(it) => match it.parent {
- VariantId::EnumVariantId(it) => it.module(db),
- VariantId::StructId(it) => it.module(db),
- VariantId::UnionId(it) => it.module(db),
- },
+ TypeOwnerId::FieldId(it) => it.module(db),
}
}
}