Struct rustc_middle::ty::fold::BottomUpFolder [−][src]
pub struct BottomUpFolder<'tcx, F, G, H> where
F: FnMut(Ty<'tcx>) -> Ty<'tcx>,
G: FnMut(Region<'tcx>) -> Region<'tcx>,
H: FnMut(&'tcx Const<'tcx>) -> &'tcx Const<'tcx>, {
pub tcx: TyCtxt<'tcx>,
pub ty_op: F,
pub lt_op: G,
pub ct_op: H,
}Fields
tcx: TyCtxt<'tcx>ty_op: Flt_op: Gct_op: HTrait Implementations
fn fold_binder<T>(&mut self, t: Binder<'tcx, T>) -> Binder<'tcx, T> where
T: TypeFoldable<'tcx>,
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, F, G, H> !RefUnwindSafe for BottomUpFolder<F, G, H>
impl<'tcx, F, G, H> !Send for BottomUpFolder<F, G, H>
impl<'tcx, F, G, H> !Sync for BottomUpFolder<F, G, H>
impl<'tcx, F, G, H> Unpin for BottomUpFolder<F, G, H> where
F: Unpin,
G: Unpin,
H: Unpin,
impl<'tcx, F, G, H> !UnwindSafe for BottomUpFolder<F, G, H>
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn try_fold_binder<T>(
&mut Self,
Binder<T>
) -> Result<Binder<T>, <F as TypeFolder<'tcx>>::Error> where
T: TypeFoldable<'tcx>,
pub fn try_fold_region(
&mut Self,
&RegionKind
) -> Result<&RegionKind, <F as TypeFolder<'tcx>>::Error>
pub fn try_fold_predicate(
&mut Self,
Predicate
) -> Result<Predicate, <F as TypeFolder<'tcx>>::Error>
pub fn try_fold_mir_const(
&mut Self,
ConstantKind
) -> Result<ConstantKind, <F as TypeFolder<'tcx>>::Error>
Layout
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.
