Allow specifying additional info on call to profile

This commit is contained in:
Aleksey Kladov
2020-03-06 17:23:08 +01:00
parent 59f91f2f9b
commit b33b843f40
3 changed files with 52 additions and 21 deletions

View File

@@ -221,7 +221,10 @@ pub(crate) fn trait_solve_query(
krate: CrateId,
goal: Canonical<InEnvironment<Obligation>>,
) -> Option<Solution> {
let _p = profile("trait_solve_query");
let _p = profile("trait_solve_query").detail(|| match &goal.value.value {
Obligation::Trait(it) => db.trait_data(it.trait_).name.to_string(),
Obligation::Projection(_) => "projection".to_string(),
});
log::debug!("trait_solve_query({})", goal.value.value.display(db));
if let Obligation::Projection(pred) = &goal.value.value {