pub trait TypeVisitable<I: Interner>: Debug + Clone {
    // Required method
    fn visit_with<V: TypeVisitor<I>>(
        &self,
        visitor: &mut V
    ) -> ControlFlow<V::BreakTy>;
}
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: TypeVisitor<I>>( &self, visitor: &mut V ) -> ControlFlow<V::BreakTy>

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.

Implementations on Foreign Types§

source§

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

source§

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

source§

impl<I: Interner, T: TypeVisitable<I>> TypeVisitable<I> for Lrc<T>

source§

fn visit_with<V: TypeVisitor<I>>( &self, visitor: &mut V ) -> ControlFlow<V::BreakTy>

source§

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

source§

fn visit_with<V: TypeVisitor<I>>( &self, visitor: &mut V ) -> ControlFlow<V::BreakTy>

source§

impl<I: Interner, T: TypeVisitable<I>> TypeVisitable<I> for Box<T>

source§

fn visit_with<V: TypeVisitor<I>>( &self, visitor: &mut V ) -> ControlFlow<V::BreakTy>

source§

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

source§

fn visit_with<V: TypeVisitor<I>>( &self, visitor: &mut V ) -> ControlFlow<V::BreakTy>

source§

impl<I: Interner> TypeVisitable<I> for String

source§

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

source§

fn visit_with<V: TypeVisitor<I>>( &self, visitor: &mut V ) -> ControlFlow<V::BreakTy>

source§

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

source§

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

source§

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

source§

fn visit_with<V: TypeVisitor<I>>( &self, visitor: &mut V ) -> ControlFlow<V::BreakTy>

source§

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

source§

fn visit_with<V: TypeVisitor<I>>( &self, visitor: &mut V ) -> ControlFlow<V::BreakTy>

source§

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

source§

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

source§

fn visit_with<V: TypeVisitor<I>>( &self, visitor: &mut V ) -> ControlFlow<V::BreakTy>

source§

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

source§

fn visit_with<V: TypeVisitor<I>>( &self, visitor: &mut V ) -> ControlFlow<V::BreakTy>

source§

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

Implementors§

source§

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

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

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

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

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

impl<'tcx, O: TypeVisitable<TyCtxt<'tcx>>> TypeVisitable<TyCtxt<'tcx>> for Obligation<'tcx, O>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<'tcx, T: TypeVisitable<TyCtxt<'tcx>>> TypeVisitable<TyCtxt<'tcx>> for &'tcx List<T>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<'tcx, T> !TypeVisitable<TyCtxt<'tcx>> for EarlyBinder<T>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<'tcx, A, B> TypeVisitable<TyCtxt<'tcx>> for OutlivesPredicate<A, B>where A: TypeVisitable<TyCtxt<'tcx>>, B: TypeVisitable<TyCtxt<'tcx>>,

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

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

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

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

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

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

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

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

impl<'tcx, T: TypeVisitable<TyCtxt<'tcx>>> TypeVisitable<TyCtxt<'tcx>> for Binder<'tcx, T>

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

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

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

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

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

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

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

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

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

impl<'tcx> TypeVisitable<TyCtxt<'tcx>> for Placeholder<BoundVar>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<'tcx, P> TypeVisitable<TyCtxt<'tcx>> for Goal<'tcx, P>where P: TypeVisitable<TyCtxt<'tcx>>,

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

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

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

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

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

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