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", so this trait is not object safe.

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 [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>

Implementors§

Source§

impl<'a, A: AstTypes> Walk<'a, A> for Expr<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, A: AstTypes> Walk<'a, A> for Bind<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, T: Annotation + Walk<'a, A>, A: AstTypes> Walk<'a, A> for At<T, A>