Struct rustc::middle::ty_fold::BottomUpFolderUnstable [-] [+] [src]

pub struct BottomUpFolder<'a, 'tcx, F> where F: FnMut(Ty<'tcx>) -> Ty<'tcx> {
    pub tcx: &'a ctxt<'tcx>,
    pub fldop: F,
}

Fields

tcx
fldop

Trait Implementations

impl<'a, 'tcx, F> TypeFolder<'tcx> for BottomUpFolder<'a, 'tcx, F> where F: FnMut(Ty<'tcx>) -> Ty<'tcx>

fn tcx(&self) -> &ctxt<'tcx>

fn fold_ty(&mut self, ty: Ty<'tcx>) -> Ty<'tcx>

fn enter_region_binder(&mut self)

fn exit_region_binder(&mut self)

fn fold_binder<T>(&mut self, t: &Binder<T>) -> Binder<T> where T: TypeFoldable<'tcx> + Repr<'tcx> + Clone

fn fold_mt(&mut self, t: &mt<'tcx>) -> mt<'tcx>

fn fold_trait_ref(&mut self, t: &TraitRef<'tcx>) -> TraitRef<'tcx>

fn fold_substs(&mut self, substs: &Substs<'tcx>) -> Substs<'tcx>

fn fold_fn_sig(&mut self, sig: &FnSig<'tcx>) -> FnSig<'tcx>

fn fold_output(&mut self, output: &FnOutput<'tcx>) -> FnOutput<'tcx>

fn fold_bare_fn_ty(&mut self, fty: &BareFnTy<'tcx>) -> BareFnTy<'tcx>

fn fold_closure_ty(&mut self, fty: &ClosureTy<'tcx>) -> ClosureTy<'tcx>

fn fold_region(&mut self, r: Region) -> Region

fn fold_existential_bounds(&mut self, s: &ExistentialBounds<'tcx>) -> ExistentialBounds<'tcx>

fn fold_autoref(&mut self, ar: &AutoRef<'tcx>) -> AutoRef<'tcx>

fn fold_item_substs(&mut self, i: ItemSubsts<'tcx>) -> ItemSubsts<'tcx>