Record impl args in the InsepctCandiate rather than rematching during select
This commit is contained in:
parent
fc47cf38e5
commit
207b4b8e88
7 changed files with 99 additions and 65 deletions
|
@ -123,6 +123,8 @@ pub enum ProbeStep<'tcx> {
|
|||
/// used whenever there are multiple candidates to prove the
|
||||
/// current goalby .
|
||||
NestedProbe(Probe<'tcx>),
|
||||
/// A trait goal was satisfied by an impl candidate.
|
||||
RecordImplArgs { impl_args: CanonicalState<'tcx, ty::GenericArgsRef<'tcx>> },
|
||||
/// A call to `EvalCtxt::evaluate_added_goals_make_canonical_response` with
|
||||
/// `Certainty` was made. This is the certainty passed in, so it's not unified
|
||||
/// with the certainty of the `try_evaluate_added_goals` that is done within;
|
||||
|
|
|
@ -136,6 +136,9 @@ impl<'a, 'b> ProofTreeFormatter<'a, 'b> {
|
|||
ProbeStep::MakeCanonicalResponse { shallow_certainty } => {
|
||||
writeln!(this.f, "EVALUATE GOALS AND MAKE RESPONSE: {shallow_certainty:?}")?
|
||||
}
|
||||
ProbeStep::RecordImplArgs { impl_args } => {
|
||||
writeln!(this.f, "RECORDED IMPL ARGS: {impl_args:?}")?
|
||||
}
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue