pub(in solve) fn make_canonical_state<D, T, I>(
delegate: &D,
var_values: &[I::GenericArg],
max_input_universe: UniverseIndex,
data: T,
) -> CanonicalState<I, T>where
D: SolverDelegate<Interner = I>,
I: Interner,
T: TypeFoldable<I>,
Expand description
Used by proof trees to be able to recompute intermediate actions while
evaluating a goal. The var_values
not only include the bound variables
of the query input, but also contain all unconstrained inference vars
created while evaluating this goal.