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.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/crates/hir-def/src/lib.rs b/crates/hir-def/src/lib.rs
index 6c96af1e75..65e8c83b5d 100644
--- a/crates/hir-def/src/lib.rs
+++ b/crates/hir-def/src/lib.rs
@@ -831,6 +831,7 @@ pub enum AttrDefId {
ImplId(ImplId),
GenericParamId(GenericParamId),
ExternBlockId(ExternBlockId),
+ ExternCrateId(ExternCrateId),
}
impl_from!(
@@ -845,7 +846,8 @@ impl_from!(
TypeAliasId,
MacroId(Macro2Id, MacroRulesId, ProcMacroId),
ImplId,
- GenericParamId
+ GenericParamId,
+ ExternCrateId
for AttrDefId
);
@@ -937,6 +939,12 @@ impl HasModule for AdtId {
}
}
+impl HasModule for ExternCrateId {
+ fn module(&self, db: &dyn db::DefDatabase) -> ModuleId {
+ self.lookup(db).container
+ }
+}
+
impl HasModule for VariantId {
fn module(&self, db: &dyn db::DefDatabase) -> ModuleId {
match self {
@@ -1060,6 +1068,7 @@ impl AttrDefId {
.krate
}
AttrDefId::MacroId(it) => it.module(db).krate,
+ AttrDefId::ExternCrateId(it) => it.lookup(db).container.krate,
}
}
}