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§

Source§

impl<'tcx, O> TypeVisitable<TyCtxt<'tcx>> for AssertKind<O>
where O: TypeVisitable<TyCtxt<'tcx>>,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

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

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

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

Implementors§

Source§

impl<'tcx, N> TypeVisitable<TyCtxt<'tcx>> for ImplSource<'tcx, N>
where N: TypeVisitable<TyCtxt<'tcx>>,

Source§

impl<'tcx, N> TypeVisitable<TyCtxt<'tcx>> for ImplSourceUserDefinedData<'tcx, N>
where N: TypeVisitable<TyCtxt<'tcx>>,

Source§

impl<'tcx, R> TypeVisitable<TyCtxt<'tcx>> for QueryResponse<'tcx, R>
where R: TypeVisitable<TyCtxt<'tcx>>,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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, 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 AliasRelationDirection
where I: Interner,

Source§

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

Source§

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

Source§

impl<I> TypeVisitable<I> for AliasTy<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_infer::traits::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 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 NormalizesTo<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_infer::infer::canonical::ir::region_constraint::RegionConstraint<I>
where I: Interner,

Source§

impl<I> TypeVisitable<I> for rustc_infer::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 rustc_infer::infer::canonical::ir::UnevaluatedConst<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>