Skip to main content

Metadata

Trait Metadata 

Source
pub trait Metadata {
    // Required methods
    fn find_input(&self, name: &str) -> Option<usize>;
    fn input_names(&self) -> Vec<String>;
    fn output_names(&self) -> Vec<String>;
    fn coord_count(&self) -> usize;
    fn input_port_type(&self, name: &str) -> Option<PortType>;
    fn input_port_type_by_idx(&self, idx: usize) -> Option<PortType>;
    fn output_port_type(&self, name: &str) -> Option<PortType>;
}
Expand description

Read-only metadata about the interpreter’s kernel: structural shape, types, names, scope layering. Everything that’s a property of the compiled program (or fiber-state instance) but isn’t itself a runtime value. Interpreter-only: Kernel carries the names and types every engine reports.

Required Methods§

Source

fn find_input(&self, name: &str) -> Option<usize>

Resolve an input name to its wire index, if present.

Source

fn input_names(&self) -> Vec<String>

All declared input wire names, in declaration order.

Source

fn output_names(&self) -> Vec<String>

All declared output wire names, in declaration order.

Source

fn coord_count(&self) -> usize

Number of coordinate inputs (the leading prefix of the input slot vector — written via the cycle dispatcher).

Source

fn input_port_type(&self, name: &str) -> Option<PortType>

Declared port type of an input wire, if known.

Source

fn input_port_type_by_idx(&self, idx: usize) -> Option<PortType>

Declared port type of an input wire by index. The indexed counterpart of input_port_type — used by the typed-write fast path so Dataflow::set_wire_idx can look up the slot’s expected type without first reverse-resolving an index to a name.

Source

fn output_port_type(&self, name: &str) -> Option<PortType>

Declared port type of an output wire, if present. Symmetric counterpart to input_port_type. Used by the binder verification path (crate::binder::verify_against_kernel) to look up wire types for type-checking adapter binding shapes.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§