Trait TypeSuperVisitable
pub trait TypeSuperVisitable<I>: TypeVisitable<I>where
I: Interner,{
// Required method
fn super_visit_with<B>(
&self,
visitor: &mut dyn TypeVisitor<I, BreakTy = B>,
outer_binder: DebruijnIndex,
) -> ControlFlow<B>;
}
Expand description
For types where “visit” invokes a callback on the visitor
, the
TypeSuperVisitable
trait captures the recursive behavior that visits all
the contents of the type.
Required Methods§
fn super_visit_with<B>(
&self,
visitor: &mut dyn TypeVisitor<I, BreakTy = B>,
outer_binder: DebruijnIndex,
) -> ControlFlow<B>
fn super_visit_with<B>( &self, visitor: &mut dyn TypeVisitor<I, BreakTy = B>, outer_binder: DebruijnIndex, ) -> ControlFlow<B>
Recursively visits the type contents.
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.
Implementors§
impl<I> TypeSuperVisitable<I> for Const<I>where
I: Interner,
impl<I> TypeSuperVisitable<I> for DomainGoal<I>where
I: Interner,
impl<I> TypeSuperVisitable<I> for Goal<I>where
I: Interner,
impl<I> TypeSuperVisitable<I> for Lifetime<I>where
I: Interner,
impl<I> TypeSuperVisitable<I> for ProgramClause<I>where
I: Interner,
impl<I> TypeSuperVisitable<I> for Ty<I>where
I: Interner,
“Super visit” for a type invokes the more detailed callbacks on the type