Struct rustc_middle::ty::normalize_erasing_regions::TryNormalizeAfterErasingRegionsFolder
source · [−]struct TryNormalizeAfterErasingRegionsFolder<'tcx> {
tcx: TyCtxt<'tcx>,
param_env: ParamEnv<'tcx>,
}Fields
tcx: TyCtxt<'tcx>param_env: ParamEnv<'tcx>Implementations
sourceimpl<'tcx> TryNormalizeAfterErasingRegionsFolder<'tcx>
impl<'tcx> TryNormalizeAfterErasingRegionsFolder<'tcx>
fn new(tcx: TyCtxt<'tcx>, param_env: ParamEnv<'tcx>) -> Self
fn try_normalize_generic_arg_after_erasing_regions(
&self,
arg: GenericArg<'tcx>
) -> Result<GenericArg<'tcx>, NoSolution>
Trait Implementations
sourceimpl<'tcx> FallibleTypeFolder<'tcx> for TryNormalizeAfterErasingRegionsFolder<'tcx>
impl<'tcx> FallibleTypeFolder<'tcx> for TryNormalizeAfterErasingRegionsFolder<'tcx>
fn try_fold_ty(&mut self, ty: Ty<'tcx>) -> Result<Ty<'tcx>, Self::Error>
fn try_fold_const(
&mut self,
c: &'tcx Const<'tcx>
) -> Result<&'tcx Const<'tcx>, Self::Error>
fn try_fold_mir_const(
&mut self,
c: ConstantKind<'tcx>
) -> Result<ConstantKind<'tcx>, Self::Error>
fn try_fold_binder<T>(
&mut self,
t: Binder<'tcx, T>
) -> Result<Binder<'tcx, T>, Self::Error> where
T: TypeFoldable<'tcx>,
fn try_fold_region(
&mut self,
r: Region<'tcx>
) -> Result<Region<'tcx>, Self::Error>
fn try_fold_predicate(
&mut self,
p: Predicate<'tcx>
) -> Result<Predicate<'tcx>, Self::Error>
sourceimpl<'tcx> TypeFolder<'tcx> for TryNormalizeAfterErasingRegionsFolder<'tcx>
impl<'tcx> TypeFolder<'tcx> for TryNormalizeAfterErasingRegionsFolder<'tcx>
type Error = NormalizationError<'tcx>
fn tcx(&self) -> TyCtxt<'tcx>
fn fold_binder<T>(&mut self, t: Binder<'tcx, T>) -> Binder<'tcx, T> where
T: TypeFoldable<'tcx>,
Self: TypeFolder<'tcx, Error = !>,
fn fold_ty(&mut self, t: Ty<'tcx>) -> Ty<'tcx> where
Self: TypeFolder<'tcx, Error = !>,
fn fold_region(&mut self, r: Region<'tcx>) -> Region<'tcx> where
Self: TypeFolder<'tcx, Error = !>,
fn fold_const(&mut self, c: &'tcx Const<'tcx>) -> &'tcx Const<'tcx> where
Self: TypeFolder<'tcx, Error = !>,
fn fold_predicate(&mut self, p: Predicate<'tcx>) -> Predicate<'tcx> where
Self: TypeFolder<'tcx, Error = !>,
fn fold_mir_const(&mut self, c: ConstantKind<'tcx>) -> ConstantKind<'tcx> where
Self: TypeFolder<'tcx, Error = !>,
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for TryNormalizeAfterErasingRegionsFolder<'tcx>
impl<'tcx> !Send for TryNormalizeAfterErasingRegionsFolder<'tcx>
impl<'tcx> !Sync for TryNormalizeAfterErasingRegionsFolder<'tcx>
impl<'tcx> Unpin for TryNormalizeAfterErasingRegionsFolder<'tcx>
impl<'tcx> !UnwindSafe for TryNormalizeAfterErasingRegionsFolder<'tcx>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
impl<'a, T> Captures<'a> for T where
T: ?Sized,
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes