pub trait TypeVisitor: Sized {
type BreakTy = !;
// Provided methods
fn visit_binder<T: TypeVisitable>(
&mut self,
t: &Binder<T>,
) -> ControlFlow<Self::BreakTy> { ... }
fn visit_expr(&mut self, expr: &Expr) -> ControlFlow<Self::BreakTy> { ... }
fn visit_sort(&mut self, sort: &Sort) -> ControlFlow<Self::BreakTy> { ... }
fn visit_ty(&mut self, ty: &Ty) -> ControlFlow<Self::BreakTy> { ... }
fn visit_bty(&mut self, bty: &BaseTy) -> ControlFlow<Self::BreakTy> { ... }
}
Provided Associated Types§
Provided Methods§
fn visit_binder<T: TypeVisitable>( &mut self, t: &Binder<T>, ) -> ControlFlow<Self::BreakTy>
fn visit_expr(&mut self, expr: &Expr) -> ControlFlow<Self::BreakTy>
fn visit_sort(&mut self, sort: &Sort) -> ControlFlow<Self::BreakTy>
fn visit_ty(&mut self, ty: &Ty) -> ControlFlow<Self::BreakTy>
fn visit_bty(&mut self, bty: &BaseTy) -> ControlFlow<Self::BreakTy>
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.