aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/lower.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_ty/src/lower.rs')
-rw-r--r--crates/ra_hir_ty/src/lower.rs30
1 files changed, 15 insertions, 15 deletions
diff --git a/crates/ra_hir_ty/src/lower.rs b/crates/ra_hir_ty/src/lower.rs
index 6f4398e84..f274579ea 100644
--- a/crates/ra_hir_ty/src/lower.rs
+++ b/crates/ra_hir_ty/src/lower.rs
@@ -768,11 +768,11 @@ fn count_impl_traits(type_ref: &TypeRef) -> usize {
768} 768}
769 769
770/// Build the signature of a callable item (function, struct or enum variant). 770/// Build the signature of a callable item (function, struct or enum variant).
771pub fn callable_item_sig(db: &dyn HirDatabase, def: CallableDef) -> PolyFnSig { 771pub fn callable_item_sig(db: &dyn HirDatabase, def: CallableDefId) -> PolyFnSig {
772 match def { 772 match def {
773 CallableDef::FunctionId(f) => fn_sig_for_fn(db, f), 773 CallableDefId::FunctionId(f) => fn_sig_for_fn(db, f),
774 CallableDef::StructId(s) => fn_sig_for_struct_constructor(db, s), 774 CallableDefId::StructId(s) => fn_sig_for_struct_constructor(db, s),
775 CallableDef::EnumVariantId(e) => fn_sig_for_enum_variant_constructor(db, e), 775 CallableDefId::EnumVariantId(e) => fn_sig_for_enum_variant_constructor(db, e),
776 } 776 }
777} 777}
778 778
@@ -1107,31 +1107,31 @@ fn type_for_type_alias(db: &dyn HirDatabase, t: TypeAliasId) -> Binders<Ty> {
1107} 1107}
1108 1108
1109#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] 1109#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
1110pub enum CallableDef { 1110pub enum CallableDefId {
1111 FunctionId(FunctionId), 1111 FunctionId(FunctionId),
1112 StructId(StructId), 1112 StructId(StructId),
1113 EnumVariantId(EnumVariantId), 1113 EnumVariantId(EnumVariantId),
1114} 1114}
1115impl_from!(FunctionId, StructId, EnumVariantId for CallableDef); 1115impl_from!(FunctionId, StructId, EnumVariantId for CallableDefId);
1116 1116
1117impl CallableDef { 1117impl CallableDefId {
1118 pub fn krate(self, db: &dyn HirDatabase) -> CrateId { 1118 pub fn krate(self, db: &dyn HirDatabase) -> CrateId {
1119 let db = db.upcast(); 1119 let db = db.upcast();
1120 match self { 1120 match self {
1121 CallableDef::FunctionId(f) => f.lookup(db).module(db), 1121 CallableDefId::FunctionId(f) => f.lookup(db).module(db),
1122 CallableDef::StructId(s) => s.lookup(db).container.module(db), 1122 CallableDefId::StructId(s) => s.lookup(db).container.module(db),
1123 CallableDef::EnumVariantId(e) => e.parent.lookup(db).container.module(db), 1123 CallableDefId::EnumVariantId(e) => e.parent.lookup(db).container.module(db),
1124 } 1124 }
1125 .krate 1125 .krate
1126 } 1126 }
1127} 1127}
1128 1128
1129impl From<CallableDef> for GenericDefId { 1129impl From<CallableDefId> for GenericDefId {
1130 fn from(def: CallableDef) -> GenericDefId { 1130 fn from(def: CallableDefId) -> GenericDefId {
1131 match def { 1131 match def {
1132 CallableDef::FunctionId(f) => f.into(), 1132 CallableDefId::FunctionId(f) => f.into(),
1133 CallableDef::StructId(s) => s.into(), 1133 CallableDefId::StructId(s) => s.into(),
1134 CallableDef::EnumVariantId(e) => e.into(), 1134 CallableDefId::EnumVariantId(e) => e.into(),
1135 } 1135 }
1136 } 1136 }
1137} 1137}