macro_rules! define_plan_node_with_deps {
(
$(#[$meta:meta])*
pub struct $name:ident {
$($field:ident: $type:ty),* $(,)?
}
enum: $enum_variant:ident
input: SingleInputNode
) => { ... };
}Expand description
Define a macro for single-input planning nodes.
The child subtree has a single owner: the typed input slot. The former
deps mirror (a second full copy of the subtree per node) was removed:
it doubled heap usage on every plan level, doubled every clone, and gave
the mirror copy diverging node ids. dependencies() is a computed view
over input so existing tree walkers keep compiling unchanged.