pub struct Metadata {
pub cardinality: CardinalityClass,
pub index_addressable: Option<IndexFn>,
pub natural_order: NaturalOrder,
pub materialization: Materialization,
}Expand description
The metadata bundle carried by every well-formed AST node.
Computed bottom-up; never mutated after propagation. Each field is a closed enum or a closed-form descriptor — no callbacks, no fail-able analyses.
Fields§
§cardinality: CardinalityClassCardinality class (comprehension_forms.md §6.1).
index_addressable: Option<IndexFn>Closed-form bijection from 0..|c| to the node’s
dispensed tuples. None when the node has no
addressable index space (raw filter output, dependent
cartesian, a truncated Lex order over either). An order
other than an untruncated Lex is a one-axis Lattice of its
selection: position i is the input’s tuple at the i-th
selected position.
natural_order: NaturalOrderHow this node enumerates by default.
materialization: MaterializationStreaming-vs-barrier classification (comprehension_forms.md §6.2).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Metadata
impl<'de> Deserialize<'de> for Metadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Metadata
Auto Trait Implementations§
impl Freeze for Metadata
impl RefUnwindSafe for Metadata
impl Send for Metadata
impl Sync for Metadata
impl Unpin for Metadata
impl UnsafeUnpin for Metadata
impl UnwindSafe for Metadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more