Struct rustc::ty::fold::RegionFolder
[−]
[src]
pub struct RegionFolder<'a, 'gcx: 'a + 'tcx, 'tcx: 'a> { /* fields omitted */ }
🔬 This is a nightly-only experimental API. (
rustc_private
)Folds over the substructure of a type, visiting its component types and all regions that occur free within it.
That is, Ty
can contain function or method types that bind
regions at the call site (ReLateBound
), and occurrences of
regions (aka "lifetimes") that are bound within a type are not
visited by this folder; only regions that occur free will be
visited by fld_r
.
Methods
impl<'a, 'gcx, 'tcx> RegionFolder<'a, 'gcx, 'tcx>
[src]
fn new<F>(tcx: TyCtxt<'a, 'gcx, 'tcx>,
skipped_regions: &'a mut bool,
fld_r: &'a mut F)
-> RegionFolder<'a, 'gcx, 'tcx> where F: FnMut(&'tcx Region, u32) -> &'tcx Region
skipped_regions: &'a mut bool,
fld_r: &'a mut F)
-> RegionFolder<'a, 'gcx, 'tcx> where F: FnMut(&'tcx Region, u32) -> &'tcx Region
🔬 This is a nightly-only experimental API. (
rustc_private
)Trait Implementations
impl<'a, 'gcx, 'tcx> TypeFolder<'gcx, 'tcx> for RegionFolder<'a, 'gcx, 'tcx>
[src]
fn tcx<'b>(&'b self) -> TyCtxt<'b, 'gcx, 'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_binder<T: TypeFoldable<'tcx>>(&mut self, t: &Binder<T>) -> Binder<T>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_region(&mut self, r: &'tcx Region) -> &'tcx Region
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_ty(&mut self, t: Ty<'tcx>) -> Ty<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_mt(&mut self, t: &TypeAndMut<'tcx>) -> TypeAndMut<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_impl_header(&mut self, imp: &ImplHeader<'tcx>) -> ImplHeader<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_substs(&mut self, substs: &'tcx Substs<'tcx>) -> &'tcx Substs<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_fn_sig(&mut self, sig: &FnSig<'tcx>) -> FnSig<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn fold_autoref(&mut self, ar: &AutoBorrow<'tcx>) -> AutoBorrow<'tcx>
🔬 This is a nightly-only experimental API. (
rustc_private
)