pub fn deeply_normalize_with_skipped_universes_and_ambiguous_coroutine_goals<'tcx, T, E>(
at: At<'_, 'tcx>,
value: T,
universes: Vec<Option<UniverseIndex>>,
) -> Result<(T, Vec<Goal<'tcx, Predicate<'tcx>>>), Vec<E>>
Expand description
Deeply normalize all aliases in value
. This does not handle inference and expects
its input to be already fully resolved.
Additionally takes a list of universes which represents the binders which have been
entered before passing value
to the function. This is currently needed for
normalize_erasing_regions
, which skips binders as it walks through a type.
This returns a set of stalled obligations involving coroutines if the typing mode of the underlying infcx has any stalled coroutine def ids.