We need to go deeper

This commit is contained in:
Kirill Bulatov 2021-04-14 16:59:08 +03:00
parent d1fc9d727b
commit 3390e73816

View File

@ -58,6 +58,7 @@ fn deref_by_trait(
krate: CrateId, krate: CrateId,
ty: InEnvironment<&Canonical<Ty>>, ty: InEnvironment<&Canonical<Ty>>,
) -> Option<Canonical<Ty>> { ) -> Option<Canonical<Ty>> {
let _p = profile::span("deref_by_trait");
let deref_trait = match db.lang_item(krate, "deref".into())? { let deref_trait = match db.lang_item(krate, "deref".into())? {
LangItemTarget::TraitId(it) => it, LangItemTarget::TraitId(it) => it,
_ => return None, _ => return None,
@ -85,7 +86,10 @@ fn deref_by_trait(
environment: ty.environment.clone(), environment: ty.environment.clone(),
}, },
}; };
if db.trait_solve(krate, implements_goal).is_none() { if {
let _p = profile::span("db.trait_solve");
db.trait_solve(krate, implements_goal).is_none()
} {
return None; return None;
} }