Skip to main content

define_plan_node_with_deps

Macro define_plan_node_with_deps 

Source
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.