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>, DataFusionError> { ... }
fn f_up<'a>(
&mut self,
node: Self::Node,
_payload: Self::Payload<'a>,
) -> Result<Transformed<Self::Node>, DataFusionError> { ... }
}Required Associated Types§
Provided Methods§
Sourcefn f_down<'a>(
&mut self,
node: Self::Node,
_payload: Self::Payload<'a>,
) -> Result<Transformed<Self::Node>, DataFusionError>
fn f_down<'a>( &mut self, node: Self::Node, _payload: Self::Payload<'a>, ) -> Result<Transformed<Self::Node>, DataFusionError>
Invoked while traversing down the tree before any children are rewritten. Default implementation returns the node as is and continues recursion.
Sourcefn f_up<'a>(
&mut self,
node: Self::Node,
_payload: Self::Payload<'a>,
) -> Result<Transformed<Self::Node>, DataFusionError>
fn f_up<'a>( &mut self, node: Self::Node, _payload: Self::Payload<'a>, ) -> Result<Transformed<Self::Node>, DataFusionError>
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.