pub trait TypeVisitable<I>: Debugwhere
    I: Interner,{
    // Required method
    fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Result
       where V: TypeVisitor<I>;
}Expand description
This trait is implemented for every type that can be visited, providing the skeleton of the traversal.
To implement this conveniently, use the derive macro located in
rustc_macros.
Required Methods§
Sourcefn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
 
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
The entry point for visiting. To visit a value t with a visitor v
call: t.visit_with(v).
For most types, this just traverses the value, calling visit_with on
each field/element.
For types of interest (such as Ty), the implementation of this method
that calls a visitor method specifically for that type (such as
V::visit_ty). This is where control transfers from TypeVisitable to
TypeVisitor.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmTemplatePiece
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmTemplatePiece
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineKind
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineKind
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MatchSource
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MatchSource
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for RangeEnd
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for RangeEnd
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PlaceBase
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PlaceBase
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ProjectionKind
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ProjectionKind
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Const<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Const<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ConstValue<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ConstValue<'tcx>
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BindingForm<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BindingForm<'tcx>
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for LocalInfo<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for LocalInfo<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MentionedItem<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MentionedItem<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VarDebugInfoContents<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VarDebugInfoContents<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AnnotationSource
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AnnotationSource
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ConstraintCategory<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ConstraintCategory<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ReturnConstraint
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ReturnConstraint
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AggregateKind<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AggregateKind<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BackwardIncompatibleDropReason
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BackwardIncompatibleDropReason
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BinOp
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BinOp
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BorrowKind
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BorrowKind
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CallSource
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CallSource
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CastKind
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CastKind
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for FakeReadCause
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for FakeReadCause
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmMacro
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmMacro
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmOperand<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmOperand<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MirPhase
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MirPhase
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for NonDivergingIntrinsic<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for NonDivergingIntrinsic<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for NullOp<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for NullOp<'tcx>
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Operand<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Operand<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for RawPtrKind
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for RawPtrKind
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for RetagKind
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for RetagKind
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Rvalue<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Rvalue<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for StatementKind<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for StatementKind<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TerminatorKind<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TerminatorKind<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnOp
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnOp
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnwindAction
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnwindAction
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnwindTerminateReason
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnwindTerminateReason
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatKind<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatKind<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatRangeBoundary<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatRangeBoundary<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CastKind
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CastKind
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for NotConstEvaluatable
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for NotConstEvaluatable
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Adjust
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Adjust
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AutoBorrow
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AutoBorrow
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AutoBorrowMutability
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AutoBorrowMutability
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatAdjust
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatAdjust
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PointerCoercion
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PointerCoercion
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AdtKind
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AdtKind
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AssocKind
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AssocKind
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BorrowKind
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BorrowKind
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarCapture
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarCapture
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ExprKind
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ExprKind
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Asyncness
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Asyncness
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ImplSubject<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ImplSubject<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InstanceKind<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InstanceKind<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ReifyReason
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ReifyReason
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarArgs<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarArgs<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeKind<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeKind<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmRegOrRegClass
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmRegOrRegClass
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for FieldIdx
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for FieldIdx
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TyAndLayout<'tcx, Ty<'tcx>>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TyAndLayout<'tcx, Ty<'tcx>>
fn visit_with<V>(
    &self,
    visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VariantIdx
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VariantIdx
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmOptions
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmOptions
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for HirId
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for HirId
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Place<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Place<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Projection<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Projection<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BasicBlocks<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BasicBlocks<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnevaluatedConst<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnevaluatedConst<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for GlobalId<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for GlobalId<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineLayout<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineLayout<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineSavedLocal
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineSavedLocal
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineSavedTy<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineSavedTy<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PlaceTy<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PlaceTy<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Statement<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Statement<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BasicBlock
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BasicBlock
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BasicBlockData<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BasicBlockData<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BlockTailInfo
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BlockTailInfo
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Body<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Body<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineInfo<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineInfo<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Local
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Local
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for LocalDecl<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for LocalDecl<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MirSource<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MirSource<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Promoted
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Promoted
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceInfo
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceInfo
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceScope
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceScope
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceScopeData<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceScopeData<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceScopeLocalData
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceScopeLocalData
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeProjection
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeProjection
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeProjections
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeProjections
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VarDebugInfo<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VarDebugInfo<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VarDebugInfoFragment<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VarDebugInfoFragment<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ConstOperand<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ConstOperand<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CopyNonOverlapping<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CopyNonOverlapping<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Place<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Place<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SwitchTargets
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SwitchTargets
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Terminator<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Terminator<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Ascription<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Ascription<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for FieldPat<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for FieldPat<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Pat<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Pat<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatRange<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatRange<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Adjustment<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Adjustment<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for OverloadedDeref
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for OverloadedDeref
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatAdjustment<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatAdjustment<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AdtDef<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AdtDef<'tcx>
fn visit_with<V>(
    &self,
    _visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AssocItem
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AssocItem
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CaptureInfo
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CaptureInfo
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CapturedPlace<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CapturedPlace<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarId
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarId
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarPath
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarPath
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Expr<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Expr<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Const<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Const<'tcx>
fn visit_with<V>(
    &self,
    visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ValTree<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ValTree<'tcx>
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Value<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Value<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for GenericArg<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for GenericArg<'tcx>
fn visit_with<V>(
    &self,
    visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserArgs<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserArgs<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserSelfTy<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserSelfTy<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Instance<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Instance<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Pattern<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Pattern<'tcx>
fn visit_with<V>(
    &self,
    visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Clause<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Clause<'tcx>
fn visit_with<V>(
    &self,
    visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Predicate<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Predicate<'tcx>
fn visit_with<V>(
    &self,
    visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitPredPrintModifiersAndPath<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitPredPrintModifiersAndPath<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitPredPrintWithBoundConstness<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitPredPrintWithBoundConstness<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitRefPrintOnlyTraitName<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitRefPrintOnlyTraitName<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitRefPrintOnlyTraitPath<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitRefPrintOnlyTraitPath<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitRefPrintSugared<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitRefPrintSugared<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BoundRegion
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BoundRegion
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Region<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Region<'tcx>
fn visit_with<V>(
    &self,
    visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ClosureSizeProfileData<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ClosureSizeProfileData<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ImplHeader<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ImplHeader<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InstantiatedPredicates<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InstantiatedPredicates<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for OpaqueHiddenType<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for OpaqueHiddenType<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ParamEnv<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ParamEnv<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Placeholder<BoundRegion>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Placeholder<BoundRegion>
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Placeholder<BoundTy>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Placeholder<BoundTy>
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Placeholder<BoundVar>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Placeholder<BoundVar>
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Term<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Term<'tcx>
fn visit_with<V>(
    &self,
    visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Ty<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Ty<'tcx>
fn visit_with<V>(
    &self,
    visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TypingEnv<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TypingEnv<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ParamConst
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ParamConst
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ParamTy
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ParamTy
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CanonicalUserTypeAnnotation<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CanonicalUserTypeAnnotation<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserType<'tcx>
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserType<'tcx>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeAnnotationIndex
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeAnnotationIndex
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for DefId
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for DefId
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for LocalDefId
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for LocalDefId
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Span
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Span
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ErrorGuaranteed
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ErrorGuaranteed
fn visit_with<V>(
    &self,
    visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Ident
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Ident
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Symbol
 
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Symbol
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    F: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx, O> TypeVisitable<TyCtxt<'tcx>> for AssertKind<O>where
    O: TypeVisitable<TyCtxt<'tcx>>,
 
impl<'tcx, O> TypeVisitable<TyCtxt<'tcx>> for AssertKind<O>where
    O: TypeVisitable<TyCtxt<'tcx>>,
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for ClearCrossCrate<T>where
    T: TypeVisitable<TyCtxt<'tcx>>,
 
impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for ClearCrossCrate<T>where
    T: TypeVisitable<TyCtxt<'tcx>>,
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for ParamEnvAnd<'tcx, T>where
    T: TypeVisitable<TyCtxt<'tcx>>,
 
impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for ParamEnvAnd<'tcx, T>where
    T: TypeVisitable<TyCtxt<'tcx>>,
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for PseudoCanonicalInput<'tcx, T>where
    T: TypeVisitable<TyCtxt<'tcx>>,
 
impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for PseudoCanonicalInput<'tcx, T>where
    T: TypeVisitable<TyCtxt<'tcx>>,
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for Spanned<T>
 
impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for Spanned<T>
fn visit_with<V>(
    &self,
    visitor: &mut V,
) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<'tcx, V, T> TypeVisitable<TyCtxt<'tcx>> for ProjectionElem<V, T>
 
impl<'tcx, V, T> TypeVisitable<TyCtxt<'tcx>> for ProjectionElem<V, T>
fn visit_with<__V>(
    &self,
    __visitor: &mut __V,
) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Resultwhere
    __V: TypeVisitor<TyCtxt<'tcx>>,
Source§impl<I> TypeVisitable<I> for boolwhere
    I: Interner,
 
impl<I> TypeVisitable<I> for boolwhere
    I: Interner,
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Resultwhere
    F: TypeVisitor<I>,
Source§impl<I> TypeVisitable<I> for u16where
    I: Interner,
 
impl<I> TypeVisitable<I> for u16where
    I: Interner,
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Resultwhere
    F: TypeVisitor<I>,
Source§impl<I> TypeVisitable<I> for u32where
    I: Interner,
 
impl<I> TypeVisitable<I> for u32where
    I: Interner,
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Resultwhere
    F: TypeVisitor<I>,
Source§impl<I> TypeVisitable<I> for u64where
    I: Interner,
 
impl<I> TypeVisitable<I> for u64where
    I: Interner,
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Resultwhere
    F: TypeVisitor<I>,
Source§impl<I> TypeVisitable<I> for ()where
    I: Interner,
 
impl<I> TypeVisitable<I> for ()where
    I: Interner,
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Resultwhere
    F: TypeVisitor<I>,
Source§impl<I> TypeVisitable<I> for usizewhere
    I: Interner,
 
impl<I> TypeVisitable<I> for usizewhere
    I: Interner,
fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Resultwhere
    F: TypeVisitor<I>,
Source§impl<I, A, B, C> TypeVisitable<I> for (A, B, C)
 
impl<I, A, B, C> TypeVisitable<I> for (A, B, C)
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T> TypeVisitable<I> for &[T]where
    I: Interner,
    T: TypeVisitable<I>,
 
impl<I, T> TypeVisitable<I> for &[T]where
    I: Interner,
    T: TypeVisitable<I>,
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T> TypeVisitable<I> for Option<T>where
    I: Interner,
    T: TypeVisitable<I>,
 
impl<I, T> TypeVisitable<I> for Option<T>where
    I: Interner,
    T: TypeVisitable<I>,
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T> TypeVisitable<I> for Box<[T]>where
    I: Interner,
    T: TypeVisitable<I>,
 
impl<I, T> TypeVisitable<I> for Box<[T]>where
    I: Interner,
    T: TypeVisitable<I>,
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T> TypeVisitable<I> for Box<T>where
    I: Interner,
    T: TypeVisitable<I>,
 
impl<I, T> TypeVisitable<I> for Box<T>where
    I: Interner,
    T: TypeVisitable<I>,
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T> TypeVisitable<I> for Arc<T>where
    I: Interner,
    T: TypeVisitable<I>,
 
impl<I, T> TypeVisitable<I> for Arc<T>where
    I: Interner,
    T: TypeVisitable<I>,
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T> TypeVisitable<I> for Vec<T>where
    I: Interner,
    T: TypeVisitable<I>,
 
impl<I, T> TypeVisitable<I> for Vec<T>where
    I: Interner,
    T: TypeVisitable<I>,
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T> TypeVisitable<I> for ThinVec<T>where
    I: Interner,
    T: TypeVisitable<I>,
 
impl<I, T> TypeVisitable<I> for ThinVec<T>where
    I: Interner,
    T: TypeVisitable<I>,
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T, E> TypeVisitable<I> for Result<T, E>
 
impl<I, T, E> TypeVisitable<I> for Result<T, E>
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T, Ix> TypeVisitable<I> for IndexVec<Ix, T>
 
impl<I, T, Ix> TypeVisitable<I> for IndexVec<Ix, T>
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T, S> TypeVisitable<I> for IndexSet<T, S>where
    I: Interner,
    T: TypeVisitable<I>,
 
impl<I, T, S> TypeVisitable<I> for IndexSet<T, S>where
    I: Interner,
    T: TypeVisitable<I>,
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T, U> TypeVisitable<I> for (T, U)
 
impl<I, T, U> TypeVisitable<I> for (T, U)
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Source§impl<I, T, const N: usize> TypeVisitable<I> for SmallVec<[T; N]>where
    I: Interner,
    T: TypeVisitable<I>,
 
impl<I, T, const N: usize> TypeVisitable<I> for SmallVec<[T; N]>where
    I: Interner,
    T: TypeVisitable<I>,
fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Resultwhere
    V: TypeVisitor<I>,
Implementors§
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for IsConstable
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ObligationCauseCode<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for OverflowError
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SelectionError<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for WellFormedLoc
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for OutlivesBound<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SelectionCandidate<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ValuePairs<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for GenericKind<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VerifyBound<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for rustc_infer::infer::canonical::Certainty
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InferConst
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for DropckOutlivesResult<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for NormalizationResult<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AscribeUserType<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for DropckOutlives<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Eq<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ImpliedOutlivesBounds<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ProvePredicate<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Subtype<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ExternalConstraints<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PredefinedOpaques<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for DerivedCause<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for DerivedHostCause<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ImplDerivedCause<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ImplDerivedHostCause<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MatchExpressionArmCause<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ObligationCause<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ObligationCauseCodeHandle<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatternOriginExpr
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SignatureMismatchData<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VerifyIfEq<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for QueryRegionConstraints<'tcx>
impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BoundVar
impl<'tcx, N> TypeVisitable<TyCtxt<'tcx>> for ImplSource<'tcx, N>where
    N: TypeVisitable<TyCtxt<'tcx>>,
impl<'tcx, N> TypeVisitable<TyCtxt<'tcx>> for ImplSourceUserDefinedData<'tcx, N>where
    N: TypeVisitable<TyCtxt<'tcx>>,
impl<'tcx, R> TypeVisitable<TyCtxt<'tcx>> for QueryResponse<'tcx, R>where
    R: TypeVisitable<TyCtxt<'tcx>>,
impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for DeeplyNormalize<T>where
    T: TypeVisitable<TyCtxt<'tcx>>,
impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for Normalize<T>where
    T: TypeVisitable<TyCtxt<'tcx>>,
impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for Obligation<'tcx, T>where
    T: TypeVisitable<TyCtxt<'tcx>>,
impl<I> TypeVisitable<I> for BuiltinImplSourcewhere
    I: Interner,
impl<I> TypeVisitable<I> for rustc_infer::traits::solve::Certaintywhere
    I: Interner,
impl<I> TypeVisitable<I> for GoalSourcewhere
    I: Interner,
impl<I> TypeVisitable<I> for ProbeKind<I>where
    I: Interner,
    Result<Canonical<I, Response<I>>, NoSolution>: TypeVisitable<I>,
    CandidateSource<I>: TypeVisitable<I>,
impl<I> TypeVisitable<I> for CanonicalTyVarKindwhere
    I: Interner,
impl<I> TypeVisitable<I> for AliasRelationDirectionwhere
    I: Interner,
impl<I> TypeVisitable<I> for BoundConstnesswhere
    I: Interner,
impl<I> TypeVisitable<I> for ClauseKind<I>where
    I: Interner,
    TraitPredicate<I>: TypeVisitable<I>,
    OutlivesPredicate<I, <I as Interner>::Region>: TypeVisitable<I>,
    OutlivesPredicate<I, <I as Interner>::Ty>: TypeVisitable<I>,
    ProjectionPredicate<I>: TypeVisitable<I>,
    <I as Interner>::Const: TypeVisitable<I>,
    <I as Interner>::Ty: TypeVisitable<I>,
    <I as Interner>::Term: TypeVisitable<I>,
    HostEffectPredicate<I>: TypeVisitable<I>,
impl<I> TypeVisitable<I> for ExistentialPredicate<I>where
    I: Interner,
    ExistentialTraitRef<I>: TypeVisitable<I>,
    ExistentialProjection<I>: TypeVisitable<I>,
    <I as Interner>::DefId: TypeVisitable<I>,
impl<I> TypeVisitable<I> for Mutabilitywhere
    I: Interner,
impl<I> TypeVisitable<I> for PatternKind<I>where
    I: Interner,
    <I as Interner>::Const: TypeVisitable<I>,
    <I as Interner>::PatList: TypeVisitable<I>,
impl<I> TypeVisitable<I> for PredicateKind<I>where
    I: Interner,
    ClauseKind<I>: TypeVisitable<I>,
    <I as Interner>::DefId: TypeVisitable<I>,
    SubtypePredicate<I>: TypeVisitable<I>,
    CoercePredicate<I>: TypeVisitable<I>,
    <I as Interner>::Const: TypeVisitable<I>,
    NormalizesTo<I>: TypeVisitable<I>,
    <I as Interner>::Term: TypeVisitable<I>,
impl<I> TypeVisitable<I> for PredicatePolaritywhere
    I: Interner,
impl<I> TypeVisitable<I> for TypingMode<I>
impl<I> TypeVisitable<I> for Variancewhere
    I: Interner,
impl<I> TypeVisitable<I> for TypeError<I>where
    I: Interner,
    ExpectedFound<<I as Interner>::Const>: TypeVisitable<I>,
    <I as Interner>::Region: TypeVisitable<I>,
    <I as Interner>::BoundRegion: TypeVisitable<I>,
    ExpectedFound<<I as Interner>::Ty>: TypeVisitable<I>,
    ExpectedFound<<I as Interner>::DefId>: TypeVisitable<I>,
    <I as Interner>::Ty: TypeVisitable<I>,
    <I as Interner>::Const: TypeVisitable<I>,
    ExpectedFound<<I as Interner>::BoundExistentialPredicates>: TypeVisitable<I>,
    <I as Interner>::DefId: TypeVisitable<I>,
impl<I> TypeVisitable<I> for ExternalConstraintsData<I>where
    I: Interner,
    Vec<OutlivesPredicate<I, <I as Interner>::GenericArg>>: TypeVisitable<I>,
    Vec<(OpaqueTypeKey<I>, <I as Interner>::Ty)>: TypeVisitable<I>,
    NestedNormalizationGoals<I>: TypeVisitable<I>,
impl<I> TypeVisitable<I> for NestedNormalizationGoals<I>
impl<I> TypeVisitable<I> for PredefinedOpaquesData<I>
impl<I> TypeVisitable<I> for Response<I>where
    I: Interner,
    CanonicalVarValues<I>: TypeVisitable<I>,
    <I as Interner>::ExternalConstraints: TypeVisitable<I>,
impl<I> TypeVisitable<I> for AliasTerm<I>where
    I: Interner,
    <I as Interner>::GenericArgs: TypeVisitable<I>,
    <I as Interner>::DefId: TypeVisitable<I>,
impl<I> TypeVisitable<I> for AliasTy<I>where
    I: Interner,
    <I as Interner>::GenericArgs: TypeVisitable<I>,
    <I as Interner>::DefId: TypeVisitable<I>,
impl<I> TypeVisitable<I> for CanonicalVarValues<I>
impl<I> TypeVisitable<I> for ClosureArgs<I>
impl<I> TypeVisitable<I> for CoercePredicate<I>
impl<I> TypeVisitable<I> for CoroutineArgs<I>
impl<I> TypeVisitable<I> for CoroutineClosureArgs<I>
impl<I> TypeVisitable<I> for CoroutineClosureSignature<I>
impl<I> TypeVisitable<I> for CoroutineWitnessTypes<I>where
    I: Interner,
    <I as Interner>::Tys: TypeVisitable<I>,
    <I as Interner>::RegionAssumptions: TypeVisitable<I>,
impl<I> TypeVisitable<I> for DebruijnIndexwhere
    I: Interner,
impl<I> TypeVisitable<I> for ExistentialProjection<I>where
    I: Interner,
    <I as Interner>::DefId: TypeVisitable<I>,
    <I as Interner>::GenericArgs: TypeVisitable<I>,
    <I as Interner>::Term: TypeVisitable<I>,
impl<I> TypeVisitable<I> for ExistentialTraitRef<I>where
    I: Interner,
    <I as Interner>::DefId: TypeVisitable<I>,
    <I as Interner>::GenericArgs: TypeVisitable<I>,
impl<I> TypeVisitable<I> for FnHeader<I>where
    I: Interner,
    <I as Interner>::Safety: TypeVisitable<I>,
    <I as Interner>::Abi: TypeVisitable<I>,
impl<I> TypeVisitable<I> for FnSig<I>
impl<I> TypeVisitable<I> for FnSigTys<I>
impl<I> TypeVisitable<I> for GenSig<I>
impl<I> TypeVisitable<I> for HostEffectPredicate<I>
impl<I> TypeVisitable<I> for NormalizesTo<I>
impl<I> TypeVisitable<I> for OpaqueTypeKey<I>where
    I: Interner,
    <I as Interner>::LocalDefId: TypeVisitable<I>,
    <I as Interner>::GenericArgs: TypeVisitable<I>,
impl<I> TypeVisitable<I> for ProjectionPredicate<I>
impl<I> TypeVisitable<I> for SubtypePredicate<I>
impl<I> TypeVisitable<I> for TraitPredicate<I>
impl<I> TypeVisitable<I> for TraitRef<I>where
    I: Interner,
    <I as Interner>::DefId: TypeVisitable<I>,
    <I as Interner>::GenericArgs: TypeVisitable<I>,
impl<I> TypeVisitable<I> for TypeAndMut<I>
impl<I> TypeVisitable<I> for rustc_infer::infer::canonical::ir::UnevaluatedConst<I>where
    I: Interner,
    <I as Interner>::DefId: TypeVisitable<I>,
    <I as Interner>::GenericArgs: TypeVisitable<I>,
impl<I> TypeVisitable<I> for UniverseIndexwhere
    I: Interner,
impl<I> TypeVisitable<I> for UnsafeBinderInner<I>
impl<I, A> TypeVisitable<I> for OutlivesPredicate<I, A>
impl<I, P> TypeVisitable<I> for Goal<I, P>
impl<I, P> TypeVisitable<I> for QueryInput<I, P>where
    I: Interner,
    Goal<I, P>: TypeVisitable<I>,
    <I as Interner>::PredefinedOpaques: TypeVisitable<I>,
impl<I, T> !TypeVisitable<I> for EarlyBinder<I, T>where
    I: Interner,
For early binders, you should first call instantiate before using any visitors.