TypeVisitable

Trait TypeVisitable 

pub trait TypeVisitable<I>: Debug
where 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§

fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Result
where 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§

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmTemplatePiece

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineKind

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MatchSource

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for RangeEnd

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PlaceBase

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ProjectionKind

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Const<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ConstValue

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BindingForm<'tcx>

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for LocalInfo<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MentionedItem<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VarDebugInfoContents<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AnnotationSource

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ConstraintCategory<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ReturnConstraint

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for StmtDebugInfo<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AggregateKind<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BackwardIncompatibleDropReason

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BinOp

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BorrowKind

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CallSource

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CastKind

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for FakeReadCause

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmMacro

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmOperand<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MirPhase

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for NonDivergingIntrinsic<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for NullOp

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Operand<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for RawPtrKind

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for RetagKind

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Rvalue<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for StatementKind<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TerminatorKind<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnOp

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnwindAction

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnwindTerminateReason

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatKind<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatRangeBoundary<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CastKind

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for NotConstEvaluatable

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Adjust

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AutoBorrow

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AutoBorrowMutability

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatAdjust

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PointerCoercion

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AdtKind

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AssocKind

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BorrowKind

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarCapture

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ExprKind

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Asyncness

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InstanceKind<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ReifyReason

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarArgs<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeKind<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmRegOrRegClass

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for FieldIdx

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TyAndLayout<'tcx, Ty<'tcx>>

§

fn visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VariantIdx

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InlineAsmOptions

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for HirId

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Place<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Projection<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BasicBlocks<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UnevaluatedConst<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for GlobalId<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineLayout<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineSavedLocal

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineSavedTy<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PlaceTy<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Statement<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for StmtDebugInfos<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BasicBlock

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BasicBlockData<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BlockTailInfo

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Body<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CoroutineInfo<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Local

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for LocalDecl<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MirSource<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Promoted

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceInfo

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceScope

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceScopeData<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SourceScopeLocalData

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeProjection

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeProjections

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VarDebugInfo<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VarDebugInfoFragment<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ConstOperand<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CopyNonOverlapping<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Place<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for SwitchTargets

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Terminator<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Ascription<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for FieldPat<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Pat<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatRange<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Adjustment<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for OverloadedDeref

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for PatAdjustment<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AdtDef<'tcx>

§

fn visit_with<V>( &self, _visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for AssocItem

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CaptureInfo

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CapturedPlace<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarId

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UpvarPath

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Expr<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Const<'tcx>

§

fn visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ValTree<'tcx>

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Value<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for GenericArg<'tcx>

§

fn visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserArgs<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserSelfTy<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Instance<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Pattern<'tcx>

§

fn visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Clause<'tcx>

§

fn visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Predicate<'tcx>

§

fn visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitPredPrintModifiersAndPath<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitPredPrintWithBoundConstness<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitRefPrintOnlyTraitName<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitRefPrintOnlyTraitPath<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TraitRefPrintSugared<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BoundRegion

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Region<'tcx>

§

fn visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ClosureSizeProfileData<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for InstantiatedPredicates<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ParamEnv<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ProvisionalHiddenType<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Term<'tcx>

§

fn visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Ty<'tcx>

§

fn visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for TypingEnv<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for BoundTy

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ParamTy

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for CanonicalUserTypeAnnotation<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserType<'tcx>

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for UserTypeAnnotationIndex

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for DefId

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for LocalDefId

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Span

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ErrorGuaranteed

§

fn visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Ident

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Symbol

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<TyCtxt<'tcx>>>::Result
where F: TypeVisitor<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>>>::Result
where __V: TypeVisitor<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>>>::Result
where __V: TypeVisitor<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>>>::Result
where __V: TypeVisitor<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>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for Spanned<T>
where T: TypeVisitable<TyCtxt<'tcx>> + Debug + Clone,

§

fn visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<TyCtxt<'tcx>>>::Result
where V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<'tcx, V, T> TypeVisitable<TyCtxt<'tcx>> for ProjectionElem<V, T>
where T: TypeVisitable<TyCtxt<'tcx>>, V: TypeVisitable<TyCtxt<'tcx>>,

§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<TyCtxt<'tcx>>>::Result
where __V: TypeVisitor<TyCtxt<'tcx>>,

§

impl<I> TypeVisitable<I> for bool
where I: Interner,

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Result
where F: TypeVisitor<I>,

§

impl<I> TypeVisitable<I> for u16
where I: Interner,

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Result
where F: TypeVisitor<I>,

§

impl<I> TypeVisitable<I> for u32
where I: Interner,

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Result
where F: TypeVisitor<I>,

§

impl<I> TypeVisitable<I> for u64
where I: Interner,

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Result
where F: TypeVisitor<I>,

§

impl<I> TypeVisitable<I> for ()
where I: Interner,

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Result
where F: TypeVisitor<I>,

§

impl<I> TypeVisitable<I> for usize
where I: Interner,

§

fn visit_with<F>(&self, _: &mut F) -> <F as TypeVisitor<I>>::Result
where F: TypeVisitor<I>,

§

impl<I, A, B, C> TypeVisitable<I> for (A, B, C)
where I: Interner, A: TypeVisitable<I>, B: TypeVisitable<I>, C: TypeVisitable<I>,

§

fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Result
where V: TypeVisitor<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>>::Result
where V: TypeVisitor<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>>::Result
where V: TypeVisitor<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>>::Result
where V: TypeVisitor<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>>::Result
where V: TypeVisitor<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>>::Result
where V: TypeVisitor<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>>::Result
where V: TypeVisitor<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>>::Result
where V: TypeVisitor<I>,

§

impl<I, T, E> TypeVisitable<I> for Result<T, E>
where I: Interner, T: TypeVisitable<I>, E: TypeVisitable<I>,

§

fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Result
where V: TypeVisitor<I>,

§

impl<I, T, Ix> TypeVisitable<I> for IndexVec<Ix, T>
where I: Interner, T: TypeVisitable<I>, Ix: Idx,

§

fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Result
where V: TypeVisitor<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>>::Result
where V: TypeVisitor<I>,

§

impl<I, T, U> TypeVisitable<I> for (T, U)
where I: Interner, T: TypeVisitable<I>, U: TypeVisitable<I>,

§

fn visit_with<V>(&self, visitor: &mut V) -> <V as TypeVisitor<I>>::Result
where V: TypeVisitor<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>>::Result
where V: TypeVisitor<I>,

Implementors§

§

impl<I, T> !TypeVisitable<I> for EarlyBinder<I, T>
where I: Interner,

Available on crate feature nightly only.

For early binders, you should first call instantiate before using any visitors.

§

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>

Source§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for ValuePairs<'tcx>

Source§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for GenericKind<'tcx>

Source§

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 DropckOutlivesResult<'tcx>

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MethodAutoderefSteps<'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 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>

Source§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for MismatchedProjectionTypes<'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>

Source§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for VerifyIfEq<'tcx>

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for QueryRegionConstraints<'tcx>

§

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>>,

Source§

impl<'tcx, T> TypeVisitable<TyCtxt<'tcx>> for Obligation<'tcx, T>
where T: TypeVisitable<TyCtxt<'tcx>>,

§

impl<I> TypeVisitable<I> for BuiltinImplSource
where I: Interner,

§

impl<I> TypeVisitable<I> for AliasBoundKind
where I: Interner,

§

impl<I> TypeVisitable<I> for rustc_infer::traits::solve::Certainty
where I: Interner,

§

impl<I> TypeVisitable<I> for GoalSource
where I: Interner,

§

impl<I> TypeVisitable<I> for ProbeKind<I>

§

impl<I> TypeVisitable<I> for AliasRelationDirection
where I: Interner,

§

impl<I> TypeVisitable<I> for BoundConstness
where I: Interner,

§

impl<I> TypeVisitable<I> for BoundVarIndexKind
where I: Interner,

§

impl<I> TypeVisitable<I> for ClauseKind<I>

§

impl<I> TypeVisitable<I> for ExistentialPredicate<I>

§

impl<I> TypeVisitable<I> for Mutability
where 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>

§

impl<I> TypeVisitable<I> for PredicatePolarity
where I: Interner,

§

impl<I> TypeVisitable<I> for Variance
where I: Interner,

§

impl<I> TypeVisitable<I> for TypeError<I>

§

impl<I> TypeVisitable<I> for ExternalConstraintsData<I>

§

impl<I> TypeVisitable<I> for NestedNormalizationGoals<I>
where I: Interner, Vec<(GoalSource, Goal<I, <I as Interner>::Predicate>)>: TypeVisitable<I>,

§

impl<I> TypeVisitable<I> for Response<I>

§

impl<I> TypeVisitable<I> for AliasTerm<I>

§

impl<I> TypeVisitable<I> for AliasTy<I>

§

impl<I> TypeVisitable<I> for CanonicalVarValues<I>

§

impl<I> TypeVisitable<I> for ClosureArgs<I>

§

impl<I> TypeVisitable<I> for CoercePredicate<I>
where I: Interner, <I as Interner>::Ty: TypeVisitable<I>,

§

impl<I> TypeVisitable<I> for CoroutineArgs<I>

§

impl<I> TypeVisitable<I> for CoroutineClosureArgs<I>

§

impl<I> TypeVisitable<I> for CoroutineClosureSignature<I>
where I: Interner, <I as Interner>::Ty: TypeVisitable<I>,

§

impl<I> TypeVisitable<I> for CoroutineWitnessTypes<I>

§

impl<I> TypeVisitable<I> for DebruijnIndex
where I: Interner,

§

impl<I> TypeVisitable<I> for ExistentialProjection<I>

§

impl<I> TypeVisitable<I> for ExistentialTraitRef<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>
where I: Interner, <I as Interner>::Tys: TypeVisitable<I>,

§

impl<I> TypeVisitable<I> for FnSigTys<I>
where I: Interner, <I as Interner>::Tys: TypeVisitable<I>,

§

impl<I> TypeVisitable<I> for GenSig<I>
where I: Interner, <I as Interner>::Ty: TypeVisitable<I>,

§

impl<I> TypeVisitable<I> for HostEffectPredicate<I>
where I: Interner, TraitRef<I>: TypeVisitable<I>,

§

impl<I> TypeVisitable<I> for NormalizesTo<I>

§

impl<I> TypeVisitable<I> for OpaqueTypeKey<I>

§

impl<I> TypeVisitable<I> for ProjectionPredicate<I>

§

impl<I> TypeVisitable<I> for SubtypePredicate<I>
where I: Interner, <I as Interner>::Ty: TypeVisitable<I>,

§

impl<I> TypeVisitable<I> for TraitPredicate<I>
where I: Interner, TraitRef<I>: TypeVisitable<I>,

§

impl<I> TypeVisitable<I> for TraitRef<I>

§

impl<I> TypeVisitable<I> for TypeAndMut<I>
where I: Interner, <I as Interner>::Ty: TypeVisitable<I>,

§

impl<I> TypeVisitable<I> for rustc_infer::infer::canonical::ir::UnevaluatedConst<I>

§

impl<I> TypeVisitable<I> for UniverseIndex
where I: Interner,

§

impl<I> TypeVisitable<I> for UnsafeBinderInner<I>
where I: Interner, Binder<I, <I as Interner>::Ty>: TypeVisitable<I>,

§

impl<I, A> TypeVisitable<I> for OutlivesPredicate<I, A>
where I: Interner, A: TypeVisitable<I>, <I as Interner>::Region: TypeVisitable<I>,

§

impl<I, P> TypeVisitable<I> for Goal<I, P>
where I: Interner, <I as Interner>::ParamEnv: TypeVisitable<I>, P: TypeVisitable<I>,

§

impl<I, P> TypeVisitable<I> for QueryInput<I, P>

§

impl<I, T> TypeVisitable<I> for State<I, T>

§

impl<I, T> TypeVisitable<I> for Binder<I, T>
where I: Interner, T: TypeVisitable<I>,

§

impl<I, T> TypeVisitable<I> for Placeholder<I, T>
where I: Interner, T: TypeVisitable<I>,

§

impl<T, I> TypeVisitable<I> for ExpectedFound<T>
where I: Interner, T: TypeVisitable<I>,