Skip to main content

TypeVisitable

Trait TypeVisitable 

Source
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§

Source

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 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".

Implementations on Foreign Types§

§

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<'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 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 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 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 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 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 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 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 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 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 AttributeKind

§

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

§

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

§

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 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 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 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 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 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 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 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 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 PatExtra<'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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 RuntimeChecks

§

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 ScalarInt

§

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

§

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

§

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

§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<I, T, S> TypeVisitable<I> for IndexSet<T, S>
where I: Interner, T: TypeVisitable<I>,

Source§

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

Source§

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

Source§

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

Source§

impl<I, T, const N: usize> TypeVisitable<I> for SmallVec<[T; N]>
where I: Interner, T: TypeVisitable<I>,

Source§

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

Source§

impl<I, T> TypeVisitable<I> for &T
where I: Interner, T: TypeVisitable<I> + ?Sized,

Source§

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

Source§

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

Source§

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

Source§

impl<I, T> TypeVisitable<I> for Box<T>
where I: Interner, T: TypeVisitable<I> + ?Sized,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<I, T> TypeVisitable<I> for [T]
where I: Interner, T: TypeVisitable<I>,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<const N: usize, I, T> TypeVisitable<I> for [T; N]
where I: Interner, T: TypeVisitable<I>,

Source§

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

Implementors§

§

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

Source§

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

§

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

§

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

§

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for rustc_trait_selection::infer::canonical::Certainty

§

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

§

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

§

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

§

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

§

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

§

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

Source§

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

Source§

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

§

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

§

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

§

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

Source§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

Source§

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

Source§

impl<I, K> TypeVisitable<I> for Alias<I, K>

Source§

impl<I, K> TypeVisitable<I> for NormalizesTo<I, K>
where I: Interner, Alias<I, K>: TypeVisitable<I>, <I as Interner>::Term: TypeVisitable<I>,

Source§

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

Source§

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

Source§

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

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<I> TypeVisitable<I> for AccessedOpaques<I>

Source§

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

Source§

impl<I> TypeVisitable<I> for AliasConstKind<I>

Source§

impl<I> TypeVisitable<I> for AliasTermKind<I>

Source§

impl<I> TypeVisitable<I> for AliasTyKind<I>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<I> TypeVisitable<I> for ExistentialTraitRef<I>

Source§

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

Source§

impl<I> TypeVisitable<I> for ExternalRegionConstraints<I>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<I> TypeVisitable<I> for PatternKind<I>
where I: Interner, <I as Interner>::Const: TypeVisitable<I>, <I as Interner>::PatList: TypeVisitable<I>,

Source§

impl<I> TypeVisitable<I> for PredicateKind<I>

Source§

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

Source§

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

Source§

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

Source§

impl<I> TypeVisitable<I> for rustc_trait_selection::infer::canonical::ir::region_constraint::RegionConstraint<I>
where I: Interner,

Source§

impl<I> TypeVisitable<I> for rustc_trait_selection::infer::canonical::ir::RegionConstraint<I>

Source§

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

Source§

impl<I> TypeVisitable<I> for RerunCondition<I>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<I> TypeVisitable<I> for ValTreeKind<I>

Source§

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

Source§

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

Source§

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

Source§

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