rustc_trait_selection::infer::canonical::ir::visit

Trait TypeSuperVisitable

Source
pub trait TypeSuperVisitable<I>: TypeVisitable<I>
where I: Interner,
{ // Required method fn super_visit_with<V>( &self, visitor: &mut V, ) -> <V as TypeVisitor<I>>::Result where V: TypeVisitor<I>; }

Required Methods§

Source

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

Provides a default visit for a recursive type of interest. This should only be called within TypeVisitor methods, when a non-custom traversal is desired for the value of the type of interest passed to that method. For example, in MyVisitor::visit_ty(ty), it is valid to call ty.super_visit_with(self), but any other visiting should be done with xyz.visit_with(self).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§

Source§

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