pub(in solve) fn make_canonical_state<'tcx, T: TypeFoldable<TyCtxt<'tcx>>>(
    infcx: &InferCtxt<'tcx>,
    var_values: &[GenericArg<'tcx>],
    max_input_universe: UniverseIndex,
    data: T
) -> CanonicalState<TyCtxt<'tcx>, T>
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.