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

Required Methods§

source

fn super_visit_with<V>( &self, visitor: &mut V ) -> ControlFlow<<V as TypeVisitor<I>>::BreakTy, ()>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).

Implementors§

source§

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

source§

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

source§

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

source§

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

source§

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