diff options
Diffstat (limited to 'crates/ra_hir_ty/src/db.rs')
-rw-r--r-- | crates/ra_hir_ty/src/db.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/crates/ra_hir_ty/src/db.rs b/crates/ra_hir_ty/src/db.rs index c43619d1c..f79faa84d 100644 --- a/crates/ra_hir_ty/src/db.rs +++ b/crates/ra_hir_ty/src/db.rs | |||
@@ -16,6 +16,7 @@ use crate::{ | |||
16 | Binders, CallableDef, GenericPredicate, InferenceResult, PolyFnSig, Substs, TraitRef, Ty, | 16 | Binders, CallableDef, GenericPredicate, InferenceResult, PolyFnSig, Substs, TraitRef, Ty, |
17 | TyDefId, TypeCtor, ValueTyDefId, | 17 | TyDefId, TypeCtor, ValueTyDefId, |
18 | }; | 18 | }; |
19 | use hir_expand::name::Name; | ||
19 | 20 | ||
20 | #[salsa::query_group(HirDatabaseStorage)] | 21 | #[salsa::query_group(HirDatabaseStorage)] |
21 | #[salsa::requires(salsa::Database)] | 22 | #[salsa::requires(salsa::Database)] |
@@ -111,7 +112,15 @@ pub trait HirDatabase: DefDatabase { | |||
111 | } | 112 | } |
112 | 113 | ||
113 | fn infer(db: &impl HirDatabase, def: DefWithBodyId) -> Arc<InferenceResult> { | 114 | fn infer(db: &impl HirDatabase, def: DefWithBodyId) -> Arc<InferenceResult> { |
114 | let _p = profile("wait_infer"); | 115 | let _p = profile("wait_infer").detail(|| match def { |
116 | DefWithBodyId::FunctionId(it) => db.function_data(it).name.to_string(), | ||
117 | DefWithBodyId::StaticId(it) => { | ||
118 | db.static_data(it).name.clone().unwrap_or_else(Name::missing).to_string() | ||
119 | } | ||
120 | DefWithBodyId::ConstId(it) => { | ||
121 | db.const_data(it).name.clone().unwrap_or_else(Name::missing).to_string() | ||
122 | } | ||
123 | }); | ||
115 | db.do_infer(def) | 124 | db.do_infer(def) |
116 | } | 125 | } |
117 | 126 | ||