rustc_infer::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).

Object Safety§

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