Skip to main content

GenericTypeVisitable

Trait GenericTypeVisitable 

Source
pub unsafe trait GenericTypeVisitable<V> {
    // Required method
    fn generic_visit_with(&self, visitor: &mut V);
}
Expand description

This trait is implemented for every type that can be visited, providing the skeleton of the traversal.

§Safety

A manual implementation must visit every field.

Therefore, it is advised to instead derive this using the derive macro located in rustc_macros.

Required Methods§

Source

fn generic_visit_with(&self, visitor: &mut V)

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<S, V> GenericTypeVisitable<V> for BuildHasherDefault<S>

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<T: ?Sized, V> GenericTypeVisitable<V> for PhantomData<T>

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V, A: GenericTypeVisitable<V>, B: GenericTypeVisitable<V>, C: GenericTypeVisitable<V>> GenericTypeVisitable<V> for (A, B, C)

Source§

impl<V, T: ?Sized + GenericTypeVisitable<V>> GenericTypeVisitable<V> for &T

Source§

impl<V, T: ?Sized + GenericTypeVisitable<V>> GenericTypeVisitable<V> for Arc<T>

Source§

impl<V, T: ?Sized + GenericTypeVisitable<V>> GenericTypeVisitable<V> for Box<T>

Source§

impl<V, T: GenericTypeVisitable<V>, E: GenericTypeVisitable<V>> GenericTypeVisitable<V> for Result<T, E>

Source§

impl<V, T: GenericTypeVisitable<V>, Ix: Idx> GenericTypeVisitable<V> for IndexVec<Ix, T>

Source§

impl<V, T: GenericTypeVisitable<V>, S: GenericTypeVisitable<V>> GenericTypeVisitable<V> for HashSet<T, S>

Source§

impl<V, T: GenericTypeVisitable<V>, S: GenericTypeVisitable<V>> GenericTypeVisitable<V> for IndexSet<T, S>

Source§

impl<V, T: GenericTypeVisitable<V>, U: GenericTypeVisitable<V>> GenericTypeVisitable<V> for (T, U)

Source§

impl<V, T: GenericTypeVisitable<V>, const N: usize> GenericTypeVisitable<V> for SmallVec<[T; N]>

Source§

impl<V, T: GenericTypeVisitable<V>> GenericTypeVisitable<V> for Option<T>

Source§

impl<V, T: GenericTypeVisitable<V>> GenericTypeVisitable<V> for ThinVec<T>

Source§

impl<V, T: GenericTypeVisitable<V>> GenericTypeVisitable<V> for Vec<T>

Source§

impl<V, T: GenericTypeVisitable<V>> GenericTypeVisitable<V> for [T]

Source§

impl<V> GenericTypeVisitable<V> for ()

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for ExternAbi

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for FxBuildHasher

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for bool

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for i8

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for i16

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for i32

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for i64

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for i128

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for isize

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for u8

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for u16

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for u32

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for u64

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for u128

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<V> GenericTypeVisitable<V> for usize

Source§

fn generic_visit_with(&self, _visitor: &mut V)

Source§

impl<Visitor, Key: GenericTypeVisitable<Visitor>, Value: GenericTypeVisitable<Visitor>, S: GenericTypeVisitable<Visitor>> GenericTypeVisitable<Visitor> for HashMap<Key, Value, S>

Source§

impl<Visitor, Key: GenericTypeVisitable<Visitor>, Value: GenericTypeVisitable<Visitor>, S: GenericTypeVisitable<Visitor>> GenericTypeVisitable<Visitor> for IndexMap<Key, Value, S>

Implementors§

Source§

impl<I: Interner, A, __V> GenericTypeVisitable<__V> for OutlivesClause<I, A>

Source§

impl<I: Interner, K, __V> GenericTypeVisitable<__V> for Alias<I, K>

Source§

impl<I: Interner, K, __V> GenericTypeVisitable<__V> for NormalizesTo<I, K>

Source§

impl<I: Interner, P, __V> GenericTypeVisitable<__V> for Goal<I, P>

Source§

impl<I: Interner, P, __V> GenericTypeVisitable<__V> for QueryInput<I, P>

Source§

impl<I: Interner, S, __V> GenericTypeVisitable<__V> for rustc_type_ir::region_constraint::RegionConstraint<I, S>

Source§

impl<I: Interner, T, __V> GenericTypeVisitable<__V> for Binder<I, T>

Source§

impl<I: Interner, T, __V> GenericTypeVisitable<__V> for EarlyBinder<I, T>

Source§

impl<I: Interner, T, __V> GenericTypeVisitable<__V> for Placeholder<I, T>

Source§

impl<I: Interner, T, __V> GenericTypeVisitable<__V> for State<I, T>

Source§

impl<I: Interner, V> GenericTypeVisitable<V> for FnSigKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for AccessedOpaques<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for AliasConstKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for AliasTermKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for AliasTyKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for BoundConst<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for BoundRegion<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for BoundRegionKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for BoundTy<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for BoundTyKind<I>
where I::DefId: GenericTypeVisitable<__V>,

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for BoundVariableKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for CanonicalVarKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for CanonicalVarValues<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for ClauseKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for ClosureArgs<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for CoercePredicate<I>
where I::Ty: GenericTypeVisitable<__V>,

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for ConstKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for CoroutineArgs<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for CoroutineClosureArgs<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for CoroutineClosureSignature<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for CoroutineWitnessTypes<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for ExistentialPredicate<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for ExistentialProjection<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for ExistentialTraitRef<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for ExternalConstraintsData<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for ExternalRegionConstraints<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for FnHeader<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for FnSig<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for FnSigTys<I>
where I::Tys: GenericTypeVisitable<__V>,

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for GenSig<I>
where I::Ty: GenericTypeVisitable<__V>,

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for GenericArgKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for HostEffectClause<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for NestedNormalizationGoals<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for OpaqueTypeKey<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for PatternKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for PredicateKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for ProbeKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for ProjectionClause<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for Region<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for rustc_type_ir::RegionConstraint<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for RegionEqPredicate<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for RegionKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for RerunCondition<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for Response<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for SubtypePredicate<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for TermKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for TraitClause<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for TraitRef<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for TyKind<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for TypeAndMut<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for TypeError<I>

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for UnsafeBinderInner<I>
where Binder<I, I::Ty>: GenericTypeVisitable<__V>,

Source§

impl<I: Interner, __V> GenericTypeVisitable<__V> for ValTreeKind<I>

Source§

impl<T, __V> GenericTypeVisitable<__V> for ExpectedFound<T>
where T: GenericTypeVisitable<__V>,

Source§

impl<T, __V> GenericTypeVisitable<__V> for WithCachedTypeInfo<T>

Source§

impl<T: Copy + Debug + Hash + Eq, __V> GenericTypeVisitable<__V> for SmallCopySet<T>

Source§

impl<V> GenericTypeVisitable<V> for BoundConstness

Source§

impl<V> GenericTypeVisitable<V> for BoundVar

Source§

impl<V> GenericTypeVisitable<V> for Certainty

Source§

impl<V> GenericTypeVisitable<V> for ClausePolarity

Source§

impl<V> GenericTypeVisitable<V> for DebruijnIndex

Source§

impl<V> GenericTypeVisitable<V> for FloatTy

Source§

impl<V> GenericTypeVisitable<V> for GoalSource

Source§

impl<V> GenericTypeVisitable<V> for InferConst

Source§

impl<V> GenericTypeVisitable<V> for InferTy

Source§

impl<V> GenericTypeVisitable<V> for IntTy

Source§

impl<V> GenericTypeVisitable<V> for Mutability

Source§

impl<V> GenericTypeVisitable<V> for RegionVid

Source§

impl<V> GenericTypeVisitable<V> for TypeFlags

Source§

impl<V> GenericTypeVisitable<V> for UintTy

Source§

impl<V> GenericTypeVisitable<V> for UniverseIndex

Source§

impl<V> GenericTypeVisitable<V> for VisibleForLeakCheck

Source§

impl<__V> GenericTypeVisitable<__V> for AliasBoundKind

Source§

impl<__V> GenericTypeVisitable<__V> for BoundVarIndexKind

Source§

impl<__V> GenericTypeVisitable<__V> for IsRigid

Source§

impl<__V> GenericTypeVisitable<__V> for RerunReason

Source§

impl<__V> GenericTypeVisitable<__V> for Variance