rustc_trait_selection::solve

Function deeply_normalize_with_skipped_universes

Source
pub fn deeply_normalize_with_skipped_universes<'tcx, T, E>(
    at: At<'_, 'tcx>,
    value: T,
    universes: Vec<Option<UniverseIndex>>,
) -> Result<T, Vec<E>>
where T: TypeFoldable<TyCtxt<'tcx>>, E: FromSolverError<'tcx, NextSolverError<'tcx>>,
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.