Struct rustc_middle::ty::fold::BoundVarReplacer [−][src]
struct BoundVarReplacer<'a, 'tcx> {
tcx: TyCtxt<'tcx>,
current_index: DebruijnIndex,
fld_r: Option<&'a mut (dyn FnMut(BoundRegion) -> Region<'tcx> + 'a)>,
fld_t: Option<&'a mut (dyn FnMut(BoundTy) -> Ty<'tcx> + 'a)>,
fld_c: Option<&'a mut (dyn FnMut(BoundVar, Ty<'tcx>) -> &'tcx Const<'tcx> + 'a)>,
}Expand description
Replaces the escaping bound vars (late bound regions or bound types) in a type.
Fields
tcx: TyCtxt<'tcx>current_index: DebruijnIndexExpand description
As with RegionFolder, represents the index of a binder just outside
the ones we have visited.
fld_r: Option<&'a mut (dyn FnMut(BoundRegion) -> Region<'tcx> + 'a)>fld_t: Option<&'a mut (dyn FnMut(BoundTy) -> Ty<'tcx> + 'a)>fld_c: Option<&'a mut (dyn FnMut(BoundVar, Ty<'tcx>) -> &'tcx Const<'tcx> + 'a)>Implementations
impl<'a, 'tcx> BoundVarReplacer<'a, 'tcx>[src]
impl<'a, 'tcx> BoundVarReplacer<'a, 'tcx>[src]Trait Implementations
impl<'a, 'tcx> TypeFolder<'tcx> for BoundVarReplacer<'a, 'tcx>[src]
impl<'a, 'tcx> TypeFolder<'tcx> for BoundVarReplacer<'a, 'tcx>[src]fn tcx<'b>(&'b self) -> TyCtxt<'tcx>[src]
fn fold_binder<T: TypeFoldable<'tcx>>(
&mut self,
t: Binder<'tcx, T>
) -> Binder<'tcx, T>[src]
&mut self,
t: Binder<'tcx, T>
) -> Binder<'tcx, T>
fn fold_ty(&mut self, t: Ty<'tcx>) -> Ty<'tcx>[src]
fn fold_region(&mut self, r: Region<'tcx>) -> Region<'tcx>[src]
fn fold_const(&mut self, ct: &'tcx Const<'tcx>) -> &'tcx Const<'tcx>[src]
fn fold_mir_const(&mut self, c: ConstantKind<'tcx>) -> ConstantKind<'tcx>[src]
Auto Trait Implementations
impl<'a, 'tcx> !RefUnwindSafe for BoundVarReplacer<'a, 'tcx>
impl<'a, 'tcx> !Send for BoundVarReplacer<'a, 'tcx>
impl<'a, 'tcx> !Sync for BoundVarReplacer<'a, 'tcx>
impl<'a, 'tcx> Unpin for BoundVarReplacer<'a, 'tcx> where
'tcx: 'a,
'tcx: 'a,
impl<'a, 'tcx> !UnwindSafe for BoundVarReplacer<'a, 'tcx>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> MaybeResult<T> for T[src]
impl<T> MaybeResult<T> for T[src]impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]
fn with_const(self) -> ConstnessAnd<Self>[src]
fn without_const(self) -> ConstnessAnd<Self>[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,