Skip to main content

Walk

Trait Walk 

Source
pub trait Walk<'a, A: AstTypes> {
    // Required method
    fn visit_in<V: Visit<'a, A> + ?Sized>(
        &'a self,
        v: &mut V,
    ) -> Result<(), V::Error>;

    // Provided method
    fn children<V: Visit<'a, A> + ?Sized>(
        &'a self,
        _v: &mut V,
    ) -> Result<(), V::Error> { ... }
}

Required Methods§

Source

fn visit_in<V: Visit<'a, A> + ?Sized>( &'a self, v: &mut V, ) -> Result<(), V::Error>

Provided Methods§

Source

fn children<V: Visit<'a, A> + ?Sized>( &'a self, _v: &mut V, ) -> Result<(), V::Error>

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementations on Foreign Types§

Source§

impl<'a, T: Walk<'a, A>, A: AstTypes> Walk<'a, A> for Option<T>

Source§

fn children<V: Visit<'a, A> + ?Sized>( &'a self, v: &mut V, ) -> Result<(), V::Error>

Source§

fn visit_in<V: Visit<'a, A> + ?Sized>( &'a self, v: &mut V, ) -> Result<(), V::Error>

Source§

impl<'a, T: Walk<'a, A>, A: AstTypes> Walk<'a, A> for Vec<T>

Source§

fn children<V: Visit<'a, A> + ?Sized>( &'a self, v: &mut V, ) -> Result<(), V::Error>

Source§

fn visit_in<V: Visit<'a, A> + ?Sized>( &'a self, v: &mut V, ) -> Result<(), V::Error>

Source§

impl<'a, T: Walk<'a, A>, A: AstTypes> Walk<'a, A> for [T]

Source§

fn children<V: Visit<'a, A> + ?Sized>( &'a self, v: &mut V, ) -> Result<(), V::Error>

Source§

fn visit_in<V: Visit<'a, A> + ?Sized>( &'a self, v: &mut V, ) -> Result<(), V::Error>

Implementors§

Source§

impl<'a, A: AstTypes> Walk<'a, A> for Bind<A>

Source§

impl<'a, A: AstTypes> Walk<'a, A> for Expr<A>

Source§

impl<'a, A: AstTypes> Walk<'a, A> for Make<A>

Source§

impl<'a, A: AstTypes> Walk<'a, A> for MakeArm<A>

Source§

impl<'a, A: AstTypes> Walk<'a, A> for Match<A>

Source§

impl<'a, A: AstTypes> Walk<'a, A> for MatchArm<A>

Source§

impl<'a, A: AstTypes> Walk<'a, A> for Pat<A>

Source§

impl<'a, A: AstTypes> Walk<'a, A> for Use<A>

Source§

impl<'a, T: AstNode + Walk<'a, A>, A: AstTypes> Walk<'a, A> for At<T, A>