TypeSuperVisitable in rustc_trait_selection::infer::canonical::ir - Rust
Description: API documentation for the Rust `TypeSuperVisitable` trait in crate `rustc_trait_selection`.

Skip to main content

## TypeSuperVisitable

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