pub(crate) fn canonicalize_goal<D, I>(
delegate: &D,
goal: Goal<I, I::Predicate>,
opaque_types: Vec<(OpaqueTypeKey<I>, I::Ty)>,
) -> (Vec<I::GenericArg>, CanonicalInput<I, I::Predicate>)where
D: SolverDelegate<Interner = I>,
I: Interner,
Expand description
Canonicalizes the goal remembering the original values for each bound variable.
This expects goal
and opaque_types
to be eager resolved.