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.rs18
1 files changed, 8 insertions, 10 deletions
diff --git a/crates/hir-def/src/lib.rs b/crates/hir-def/src/lib.rs
index b628137ef5..3fa98efbb5 100644
--- a/crates/hir-def/src/lib.rs
+++ b/crates/hir-def/src/lib.rs
@@ -977,6 +977,14 @@ impl GenericDefId {
_ => None,
}
}
+
+ pub fn from_callable(db: &dyn DefDatabase, def: CallableDefId) -> GenericDefId {
+ match def {
+ CallableDefId::FunctionId(f) => f.into(),
+ CallableDefId::StructId(s) => s.into(),
+ CallableDefId::EnumVariantId(e) => e.lookup(db).parent.into(),
+ }
+ }
}
impl From<AssocItemId> for GenericDefId {
@@ -1019,16 +1027,6 @@ impl CallableDefId {
}
}
-impl GenericDefId {
- pub fn from(db: &dyn DefDatabase, def: CallableDefId) -> GenericDefId {
- match def {
- CallableDefId::FunctionId(f) => f.into(),
- CallableDefId::StructId(s) => s.into(),
- CallableDefId::EnumVariantId(e) => e.lookup(db).parent.into(),
- }
- }
-}
-
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub enum AttrDefId {
ModuleId(ModuleId),