pub trait TypeFoldable<I>: TypeVisitable<I> + Clonewhere
I: Interner,{
// Required methods
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Self, <F as FallibleTypeFolder<I>>::Error>
where F: FallibleTypeFolder<I>;
fn fold_with<F>(self, folder: &mut F) -> Self
where F: TypeFolder<I>;
}Expand description
This trait is implemented for every type that can be folded, providing the skeleton of the traversal.
To implement this conveniently, use the derive macro located in
rustc_macros.
This trait is a sub-trait of TypeVisitable. This is because many
TypeFolder instances use the methods in TypeVisitableExt while folding,
which means in practice almost every foldable type needs to also be
visitable. (However, there are some types that are visitable without being
foldable.)
Required Methods§
Sourcefn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Self, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Self, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
The entry point for folding. To fold a value t with a folder f
call: t.try_fold_with(f).
For most types, this just traverses the value, calling try_fold_with
on each field/element.
For types of interest (such as Ty), the implementation of this method
calls a folder method specifically for that type (such as
F::try_fold_ty). This is where control transfers from TypeFoldable
to FallibleTypeFolder.
Sourcefn fold_with<F>(self, folder: &mut F) -> Selfwhere
F: TypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> Selfwhere
F: TypeFolder<I>,
The entry point for folding. To fold a value t with a folder f
call: t.fold_with(f).
For most types, this just traverses the value, calling fold_with
on each field/element.
For types of interest (such as Ty), the implementation of this method
calls a folder method specifically for that type (such as
F::fold_ty). This is where control transfers from TypeFoldable
to TypeFolder.
Same as TypeFoldable::try_fold_with, but not fallible. Make sure to keep
the behavior in sync across functions.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<'tcx, O> TypeFoldable<TyCtxt<'tcx>> for AssertKind<O>where
O: TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx, O> TypeFoldable<TyCtxt<'tcx>> for AssertKind<O>where
O: TypeFoldable<TyCtxt<'tcx>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<AssertKind<O>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> AssertKind<O>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for ClearCrossCrate<T>where
T: TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for ClearCrossCrate<T>where
T: TypeFoldable<TyCtxt<'tcx>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ClearCrossCrate<T>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ClearCrossCrate<T>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for ParamEnvAnd<'tcx, T>where
T: TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for ParamEnvAnd<'tcx, T>where
T: TypeFoldable<TyCtxt<'tcx>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ParamEnvAnd<'tcx, T>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ParamEnvAnd<'tcx, T>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for PseudoCanonicalInput<'tcx, T>where
T: TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for PseudoCanonicalInput<'tcx, T>where
T: TypeFoldable<TyCtxt<'tcx>>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<PseudoCanonicalInput<'tcx, T>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> PseudoCanonicalInput<'tcx, T>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for Spanned<T>
impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for Spanned<T>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Spanned<T>, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, folder: &mut F) -> Spanned<T>where
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx, V, T> TypeFoldable<TyCtxt<'tcx>> for ProjectionElem<V, T>
impl<'tcx, V, T> TypeFoldable<TyCtxt<'tcx>> for ProjectionElem<V, T>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ProjectionElem<V, T>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ProjectionElem<V, T>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Adjust
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Adjust
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Adjust, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Adjustwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Adjustment<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Adjustment<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Adjustment<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Adjustment<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AdtKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AdtKind
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<AdtKind, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> AdtKindwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AggregateKind<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AggregateKind<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<AggregateKind<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> AggregateKind<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AnnotationSource
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AnnotationSource
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<AnnotationSource, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> AnnotationSourcewhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AssocItem
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AssocItem
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<AssocItem, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> AssocItemwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AssocKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AssocKind
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<AssocKind, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> AssocKindwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Asyncness
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Asyncness
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Asyncness, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Asyncnesswhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AttributeKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AttributeKind
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<AttributeKind, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> AttributeKindwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AutoBorrow
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AutoBorrow
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<AutoBorrow, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> AutoBorrowwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AutoBorrowMutability
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AutoBorrowMutability
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<AutoBorrowMutability, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> AutoBorrowMutabilitywhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BackwardIncompatibleDropReason
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BackwardIncompatibleDropReason
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<BackwardIncompatibleDropReason, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> BackwardIncompatibleDropReasonwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BasicBlock
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BasicBlock
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<BasicBlock, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> BasicBlockwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BasicBlockData<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BasicBlockData<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<BasicBlockData<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> BasicBlockData<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BasicBlocks<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BasicBlocks<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<BasicBlocks<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> BasicBlocks<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BinOp
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BinOp
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<BinOp, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> BinOpwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BindingForm<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BindingForm<'tcx>
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<BindingForm<'tcx>, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> BindingForm<'tcx>where
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BlockTailInfo
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BlockTailInfo
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<BlockTailInfo, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> BlockTailInfowhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Body<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Body<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Body<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Body<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BorrowKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BorrowKind
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<BorrowKind, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> BorrowKindwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BorrowKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BorrowKind
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<BorrowKind, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> BorrowKindwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CallSource
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CallSource
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<CallSource, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> CallSourcewhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CanonicalUserTypeAnnotation<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CanonicalUserTypeAnnotation<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<CanonicalUserTypeAnnotation<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> CanonicalUserTypeAnnotation<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CaptureInfo
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CaptureInfo
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<CaptureInfo, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> CaptureInfowhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CapturedPlace<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CapturedPlace<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<CapturedPlace<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> CapturedPlace<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CastKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CastKind
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<CastKind, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> CastKindwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CastKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CastKind
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<CastKind, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> CastKindwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Clause<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Clause<'tcx>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Clause<'tcx>, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, folder: &mut F) -> Clause<'tcx>where
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ClosureSizeProfileData<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ClosureSizeProfileData<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ClosureSizeProfileData<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ClosureSizeProfileData<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Const<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Const<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Const<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Const<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Const<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Const<'tcx>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Const<'tcx>, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, folder: &mut F) -> Const<'tcx>where
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ConstOperand<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ConstOperand<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ConstOperand<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ConstOperand<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ConstValue
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ConstValue
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ConstValue, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> ConstValuewhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ConstraintCategory<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ConstraintCategory<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ConstraintCategory<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ConstraintCategory<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CopyNonOverlapping<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CopyNonOverlapping<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<CopyNonOverlapping<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> CopyNonOverlapping<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CoroutineInfo<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CoroutineInfo<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<CoroutineInfo<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> CoroutineInfo<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CoroutineKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CoroutineKind
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<CoroutineKind, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> CoroutineKindwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CoroutineLayout<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CoroutineLayout<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<CoroutineLayout<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> CoroutineLayout<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CoroutineSavedLocal
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CoroutineSavedLocal
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<CoroutineSavedLocal, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> CoroutineSavedLocalwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CoroutineSavedTy<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for CoroutineSavedTy<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<CoroutineSavedTy<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> CoroutineSavedTy<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for DefId
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for DefId
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<DefId, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> DefIdwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for DerefAdjustKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for DerefAdjustKind
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<DerefAdjustKind, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> DerefAdjustKindwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ErrorGuaranteed
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ErrorGuaranteed
fn try_fold_with<F>(
self,
_folder: &mut F,
) -> Result<ErrorGuaranteed, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _folder: &mut F) -> ErrorGuaranteedwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Expr<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Expr<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Expr<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Expr<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ExprKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ExprKind
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ExprKind, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ExprKindwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for FakeReadCause
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for FakeReadCause
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<FakeReadCause, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> FakeReadCausewhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for FieldIdx
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for FieldIdx
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<FieldIdx, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> FieldIdxwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for GenericArg<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for GenericArg<'tcx>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<GenericArg<'tcx>, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, folder: &mut F) -> GenericArg<'tcx>where
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for GlobalId<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for GlobalId<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<GlobalId<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> GlobalId<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for HirId
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for HirId
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<HirId, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> HirIdwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Ident
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Ident
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<Ident, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> Identwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InlineAsmMacro
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InlineAsmMacro
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<InlineAsmMacro, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> InlineAsmMacrowhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InlineAsmOperand<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InlineAsmOperand<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<InlineAsmOperand<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> InlineAsmOperand<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InlineAsmOptions
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InlineAsmOptions
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<InlineAsmOptions, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> InlineAsmOptionswhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InlineAsmRegOrRegClass
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InlineAsmRegOrRegClass
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<InlineAsmRegOrRegClass, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> InlineAsmRegOrRegClasswhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InlineAsmTemplatePiece
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InlineAsmTemplatePiece
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<InlineAsmTemplatePiece, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> InlineAsmTemplatePiecewhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Instance<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Instance<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Instance<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Instance<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InstanceKind<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for InstanceKind<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<InstanceKind<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> InstanceKind<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Local
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Local
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<Local, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> Localwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for LocalDecl<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for LocalDecl<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<LocalDecl<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> LocalDecl<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for LocalDefId
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for LocalDefId
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<LocalDefId, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> LocalDefIdwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for LocalInfo<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for LocalInfo<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<LocalInfo<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> LocalInfo<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for MatchSource
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for MatchSource
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<MatchSource, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> MatchSourcewhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for MentionedItem<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for MentionedItem<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<MentionedItem<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> MentionedItem<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for MirPhase
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for MirPhase
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<MirPhase, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> MirPhasewhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for MirSource<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for MirSource<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<MirSource<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> MirSource<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for NonDivergingIntrinsic<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for NonDivergingIntrinsic<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<NonDivergingIntrinsic<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> NonDivergingIntrinsic<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for NotConstEvaluatable
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for NotConstEvaluatable
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<NotConstEvaluatable, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> NotConstEvaluatablewhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Operand<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Operand<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Operand<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Operand<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for OverloadedDeref
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for OverloadedDeref
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<OverloadedDeref, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> OverloadedDerefwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ParamEnv<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ParamEnv<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ParamEnv<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ParamEnv<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ParamTy
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ParamTy
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ParamTy, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> ParamTywhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for PatAdjust
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for PatAdjust
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<PatAdjust, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> PatAdjustwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for PatAdjustment<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for PatAdjustment<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<PatAdjustment<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> PatAdjustment<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Pattern<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Pattern<'tcx>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Pattern<'tcx>, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, folder: &mut F) -> Pattern<'tcx>where
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Place<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Place<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Place<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Place<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Place<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Place<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Place<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Place<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for PlaceBase
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for PlaceBase
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<PlaceBase, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> PlaceBasewhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for PlaceTy<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for PlaceTy<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<PlaceTy<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> PlaceTy<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for PointerCoercion
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for PointerCoercion
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<PointerCoercion, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> PointerCoercionwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Predicate<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Predicate<'tcx>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Predicate<'tcx>, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, folder: &mut F) -> Predicate<'tcx>where
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Projection<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Projection<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Projection<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Projection<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ProjectionKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ProjectionKind
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ProjectionKind, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ProjectionKindwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Promoted
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Promoted
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<Promoted, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> Promotedwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ProvisionalHiddenType<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ProvisionalHiddenType<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ProvisionalHiddenType<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ProvisionalHiddenType<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for RangeEnd
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for RangeEnd
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<RangeEnd, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> RangeEndwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for RawPtrKind
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for RawPtrKind
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<RawPtrKind, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> RawPtrKindwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Region<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Region<'tcx>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Region<'tcx>, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, folder: &mut F) -> Region<'tcx>where
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ReifyReason
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ReifyReason
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ReifyReason, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> ReifyReasonwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ReturnConstraint
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ReturnConstraint
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ReturnConstraint, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> ReturnConstraintwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for RuntimeChecks
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for RuntimeChecks
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<RuntimeChecks, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> RuntimeCheckswhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Rvalue<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Rvalue<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Rvalue<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Rvalue<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ScalarInt
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ScalarInt
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<ScalarInt, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> ScalarIntwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for SourceInfo
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for SourceInfo
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<SourceInfo, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> SourceInfowhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for SourceScope
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for SourceScope
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<SourceScope, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> SourceScopewhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for SourceScopeData<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for SourceScopeData<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<SourceScopeData<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> SourceScopeData<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for SourceScopeLocalData
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for SourceScopeLocalData
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<SourceScopeLocalData, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> SourceScopeLocalDatawhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Span
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Span
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<Span, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> Spanwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Statement<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Statement<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Statement<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Statement<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for StatementKind<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for StatementKind<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<StatementKind<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> StatementKind<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for StmtDebugInfo<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for StmtDebugInfo<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<StmtDebugInfo<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> StmtDebugInfo<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for StmtDebugInfos<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for StmtDebugInfos<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<StmtDebugInfos<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> StmtDebugInfos<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for SwitchTargets
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for SwitchTargets
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<SwitchTargets, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> SwitchTargetswhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Symbol
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Symbol
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<Symbol, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> Symbolwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Term<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Term<'tcx>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Term<'tcx>, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, folder: &mut F) -> Term<'tcx>where
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Terminator<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Terminator<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Terminator<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Terminator<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TerminatorKind<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TerminatorKind<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<TerminatorKind<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> TerminatorKind<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TraitPredPrintModifiersAndPath<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TraitPredPrintModifiersAndPath<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<TraitPredPrintModifiersAndPath<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(
self,
__folder: &mut __F,
) -> TraitPredPrintModifiersAndPath<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TraitPredPrintWithBoundConstness<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TraitPredPrintWithBoundConstness<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<TraitPredPrintWithBoundConstness<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(
self,
__folder: &mut __F,
) -> TraitPredPrintWithBoundConstness<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TraitRefPrintOnlyTraitName<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TraitRefPrintOnlyTraitName<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<TraitRefPrintOnlyTraitName<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> TraitRefPrintOnlyTraitName<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TraitRefPrintOnlyTraitPath<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TraitRefPrintOnlyTraitPath<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<TraitRefPrintOnlyTraitPath<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> TraitRefPrintOnlyTraitPath<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TraitRefPrintSugared<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TraitRefPrintSugared<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<TraitRefPrintSugared<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> TraitRefPrintSugared<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Ty<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Ty<'tcx>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Ty<'tcx>, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, folder: &mut F) -> Ty<'tcx>where
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TypingEnv<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for TypingEnv<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<TypingEnv<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> TypingEnv<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UnOp
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UnOp
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UnOp, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UnOpwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UnevaluatedConst<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UnevaluatedConst<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UnevaluatedConst<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UnevaluatedConst<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UnwindAction
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UnwindAction
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UnwindAction, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UnwindActionwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UnwindTerminateReason
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UnwindTerminateReason
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UnwindTerminateReason, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UnwindTerminateReasonwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UpvarArgs<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UpvarArgs<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UpvarArgs<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UpvarArgs<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UpvarCapture
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UpvarCapture
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UpvarCapture, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UpvarCapturewhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UpvarId
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UpvarId
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UpvarId, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UpvarIdwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UpvarPath
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UpvarPath
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UpvarPath, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UpvarPathwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserArgs<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserArgs<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UserArgs<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UserArgs<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserSelfTy<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserSelfTy<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UserSelfTy<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UserSelfTy<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserType<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserType<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UserType<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UserType<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserTypeAnnotationIndex
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserTypeAnnotationIndex
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<UserTypeAnnotationIndex, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> UserTypeAnnotationIndexwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserTypeKind<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserTypeKind<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UserTypeKind<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UserTypeKind<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserTypeProjection
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserTypeProjection
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UserTypeProjection, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UserTypeProjectionwhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserTypeProjections
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for UserTypeProjections
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<UserTypeProjections, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> UserTypeProjectionswhere
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ValTree<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ValTree<'tcx>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<ValTree<'tcx>, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, folder: &mut F) -> ValTree<'tcx>where
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Value<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Value<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Value<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> Value<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for VarDebugInfo<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for VarDebugInfo<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<VarDebugInfo<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> VarDebugInfo<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for VarDebugInfoContents<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for VarDebugInfoContents<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<VarDebugInfoContents<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> VarDebugInfoContents<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for VarDebugInfoFragment<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for VarDebugInfoFragment<'tcx>
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<VarDebugInfoFragment<'tcx>, <__F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
__F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<__F>(self, __folder: &mut __F) -> VarDebugInfoFragment<'tcx>where
__F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for VariantIdx
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for VariantIdx
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<VariantIdx, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> VariantIdxwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for WithRetag
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for WithRetag
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<WithRetag, <F as FallibleTypeFolder<TyCtxt<'tcx>>>::Error>where
F: FallibleTypeFolder<TyCtxt<'tcx>>,
fn fold_with<F>(self, _: &mut F) -> WithRetagwhere
F: TypeFolder<TyCtxt<'tcx>>,
Source§impl<I, A, B, C> TypeFoldable<I> for (A, B, C)
impl<I, A, B, C> TypeFoldable<I> for (A, B, C)
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<(A, B, C), <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> (A, B, C)where
F: TypeFolder<I>,
Source§impl<I, T, E> TypeFoldable<I> for Result<T, E>
impl<I, T, E> TypeFoldable<I> for Result<T, E>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Result<T, E>, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> Result<T, E>where
F: TypeFolder<I>,
Source§impl<I, T, Ix> TypeFoldable<I> for IndexVec<Ix, T>
impl<I, T, Ix> TypeFoldable<I> for IndexVec<Ix, T>
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<IndexVec<Ix, T>, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> IndexVec<Ix, T>where
F: TypeFolder<I>,
Source§impl<I, T, U> TypeFoldable<I> for (T, U)
impl<I, T, U> TypeFoldable<I> for (T, U)
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<(T, U), <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> (T, U)where
F: TypeFolder<I>,
Source§impl<I, T> TypeFoldable<I> for Arc<T>where
I: Interner,
T: TypeFoldable<I>,
impl<I, T> TypeFoldable<I> for Arc<T>where
I: Interner,
T: TypeFoldable<I>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Arc<T>, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> Arc<T>where
F: TypeFolder<I>,
Source§impl<I, T> TypeFoldable<I> for Box<T>where
I: Interner,
T: TypeFoldable<I>,
impl<I, T> TypeFoldable<I> for Box<T>where
I: Interner,
T: TypeFoldable<I>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Box<T>, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> Box<T>where
F: TypeFolder<I>,
Source§impl<I, T> TypeFoldable<I> for Box<[T]>where
I: Interner,
T: TypeFoldable<I>,
impl<I, T> TypeFoldable<I> for Box<[T]>where
I: Interner,
T: TypeFoldable<I>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Box<[T]>, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> Box<[T]>where
F: TypeFolder<I>,
Source§impl<I, T> TypeFoldable<I> for Option<T>where
I: Interner,
T: TypeFoldable<I>,
impl<I, T> TypeFoldable<I> for Option<T>where
I: Interner,
T: TypeFoldable<I>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Option<T>, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> Option<T>where
F: TypeFolder<I>,
Source§impl<I, T> TypeFoldable<I> for ThinVec<T>where
I: Interner,
T: TypeFoldable<I>,
impl<I, T> TypeFoldable<I> for ThinVec<T>where
I: Interner,
T: TypeFoldable<I>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<ThinVec<T>, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> ThinVec<T>where
F: TypeFolder<I>,
Source§impl<I, T> TypeFoldable<I> for Vec<T>where
I: Interner,
T: TypeFoldable<I>,
impl<I, T> TypeFoldable<I> for Vec<T>where
I: Interner,
T: TypeFoldable<I>,
fn try_fold_with<F>(
self,
folder: &mut F,
) -> Result<Vec<T>, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> Vec<T>where
F: TypeFolder<I>,
Source§impl<I> TypeFoldable<I> for ()where
I: Interner,
impl<I> TypeFoldable<I> for ()where
I: Interner,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<(), <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, _: &mut F)where
F: TypeFolder<I>,
Source§impl<I> TypeFoldable<I> for boolwhere
I: Interner,
impl<I> TypeFoldable<I> for boolwhere
I: Interner,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<bool, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, _: &mut F) -> boolwhere
F: TypeFolder<I>,
Source§impl<I> TypeFoldable<I> for u16where
I: Interner,
impl<I> TypeFoldable<I> for u16where
I: Interner,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<u16, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, _: &mut F) -> u16where
F: TypeFolder<I>,
Source§impl<I> TypeFoldable<I> for u32where
I: Interner,
impl<I> TypeFoldable<I> for u32where
I: Interner,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<u32, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, _: &mut F) -> u32where
F: TypeFolder<I>,
Source§impl<I> TypeFoldable<I> for u64where
I: Interner,
impl<I> TypeFoldable<I> for u64where
I: Interner,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<u64, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, _: &mut F) -> u64where
F: TypeFolder<I>,
Source§impl<I> TypeFoldable<I> for usizewhere
I: Interner,
impl<I> TypeFoldable<I> for usizewhere
I: Interner,
fn try_fold_with<F>(
self,
_: &mut F,
) -> Result<usize, <F as FallibleTypeFolder<I>>::Error>where
F: FallibleTypeFolder<I>,
fn fold_with<F>(self, _: &mut F) -> usizewhere
F: TypeFolder<I>,
Implementors§
impl<'tcx, N> TypeFoldable<TyCtxt<'tcx>> for ImplSource<'tcx, N>where
N: TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx, N> TypeFoldable<TyCtxt<'tcx>> for ImplSourceUserDefinedData<'tcx, N>where
N: TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx, R> TypeFoldable<TyCtxt<'tcx>> for QueryResponse<'tcx, R>where
R: TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for DeeplyNormalize<T>where
T: TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for Normalize<T>where
T: TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx, T> TypeFoldable<TyCtxt<'tcx>> for Obligation<'tcx, T>where
T: TypeFoldable<TyCtxt<'tcx>>,
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for AscribeUserType<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BoundRegion<TyCtxt<'tcx>>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for BoundTy<TyCtxt<'tcx>>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for rustc_infer::infer::canonical::Certainty
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for DerivedCause<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for DerivedHostCause<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for DropckOutlives<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for DropckOutlivesResult<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Eq<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ExternalConstraints<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for GenericKind<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ImplDerivedCause<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ImplDerivedHostCause<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ImpliedOutlivesBounds<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for IsConstable
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for MatchExpressionArmCause<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for MethodAutoderefSteps<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for NormalizationResult<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ObligationCause<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ObligationCauseCode<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ObligationCauseCodeHandle<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for OutlivesBound<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for OverflowError
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for PatternOriginExpr
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ProvePredicate<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for QueryRegionConstraint<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for QueryRegionConstraints<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for Subtype<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for ValuePairs<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for VerifyBound<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for VerifyIfEq<'tcx>
impl<'tcx> TypeFoldable<TyCtxt<'tcx>> for WellFormedLoc
impl<I, A> TypeFoldable<I> for OutlivesPredicate<I, A>
impl<I, K> TypeFoldable<I> for Alias<I, K>
impl<I, K> TypeFoldable<I> for NormalizesTo<I, K>where
I: Interner,
K: TypeFoldable<I>,
Alias<I, K>: TypeFoldable<I>,
<I as Interner>::Term: TypeFoldable<I>,
impl<I, P> TypeFoldable<I> for Goal<I, P>
impl<I, P> TypeFoldable<I> for QueryInput<I, P>where
I: Interner,
P: TypeFoldable<I>,
Goal<I, P>: TypeFoldable<I>,
<I as Interner>::PredefinedOpaques: TypeFoldable<I>,
impl<I, T> !TypeFoldable<I> for EarlyBinder<I, T>where
I: Interner,
For early binders, you should first call instantiate before using any visitors.