Skip to main content

Visitor

Trait Visitor 

pub trait Visitor {
    type Break;
}
Expand description

A visitor.

This trait provides the Break type used by its two child traits Visit and VisitMut. All visitors can abort visitation early by returning ControlFlow::Break. For the common case of visitors that never return early, use std::convert::Infallible. This is the default type used by derive(Visitor).

Required Associated Types§

type Break

The type used for early-return, if the visitor supports it. Use an empty type like std::convert::Infallible if the visitor does not short-circuit.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl Visitor for LocalStatusCollector

Source§

impl Visitor for LocalsRenumberVisitor

Source§

impl Visitor for LocalsUsageVisitor

Source§

impl Visitor for RemoveLastParamVisitor

Source§

impl Visitor for StorageVisitor

Source§

impl Visitor for UnbindVarVisitor

Source§

impl Visitor for UsesClauseVisitor

Source§

impl<'a, 'b> Visitor for IndexVisitor<'a, 'b>

Source§

impl<'a> Visitor for ClauseExtractor<'a>

Source§

impl<'a> Visitor for DepsForItem<'a>

Source§

impl<'a> Visitor for IdRefMapperVisitor<'a>

Source§

impl<'a> Visitor for NormalizeFnPtr<'a>

Source§

impl<'a> Visitor for PartialMonomorphizer<'a>

Source§

impl<'a> Visitor for RemoveAdtClausesVisitor<'a>

Source§

impl<'a> Visitor for RemoveSelfVisitor<'a>

Source§

impl<'a> Visitor for SubstVisitor<'a>

Source§

impl<'a> Visitor for TypeCheckVisitor<'a>

Source§

impl<'a> Visitor for UpdateItemBody<'a>

Source§

impl<'pm, 'ctx> Visitor for MutabilityShapeBuilder<'pm, 'ctx>

Source§

impl<F: FnMut(&mut Block), G: FnMut(&mut Statement)> Visitor for BlockVisitor<F, G>

Source§

impl<F> Visitor for DynVisitor<F>

Source§

impl<V: Visitor> Visitor for AstVisitableWrapper<V>

Source§

type Break = <V as Visitor>::Break

Source§

impl<V: Visitor> Visitor for BodyVisitableWrapper<V>

Source§

type Break = <V as Visitor>::Break

Source§

impl<V: Visitor> Visitor for DontLeakImplDetails<V>

Source§

type Break = <V as Visitor>::Break

Source§

impl<V: Visitor> Visitor for VisitWithBinderDepth<V>

Source§

type Break = <V as Visitor>::Break

Source§

impl<V: Visitor> Visitor for VisitWithBinderStack<V>

Source§

type Break = <V as Visitor>::Break

Source§

impl<V: Visitor> Visitor for VisitWithItem<V>

Source§

type Break = <V as Visitor>::Break

Source§

impl<V: Visitor> Visitor for VisitWithSpan<V>

Source§

type Break = <V as Visitor>::Break