TreeNodeRewriterWithPayload

Trait TreeNodeRewriterWithPayload 

Source
pub trait TreeNodeRewriterWithPayload: Sized {
    type Node;
    type Payload<'a>;

    // Provided methods
    fn f_down<'a>(
        &mut self,
        node: Self::Node,
        _payload: Self::Payload<'a>,
    ) -> Result<Transformed<Self::Node>> { ... }
    fn f_up<'a>(
        &mut self,
        node: Self::Node,
        _payload: Self::Payload<'a>,
    ) -> Result<Transformed<Self::Node>> { ... }
}

Required Associated Types§

Provided Methods§

Source

fn f_down<'a>( &mut self, node: Self::Node, _payload: Self::Payload<'a>, ) -> Result<Transformed<Self::Node>>

Invoked while traversing down the tree before any children are rewritten. Default implementation returns the node as is and continues recursion.

Source

fn f_up<'a>( &mut self, node: Self::Node, _payload: Self::Payload<'a>, ) -> Result<Transformed<Self::Node>>

Invoked while traversing up the tree after all children have been rewritten. Default implementation returns the node as is and continues recursion.

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§