Skip to main content

Module binding

Module binding 

Source
Expand description

OperatorBinding — closure-registration helper trait for the operators crate. Sub-trait of BindingBoundary (D015).

Operator factories (super::transform::map, etc.) accept user closures of shape Fn(T) -> R / Fn(T) -> bool / Fn(R, T) -> R. At the FFI plane (per the handle-protocol cleaving plane invariant), Core only ever sees opaque HandleId integers. Bindings therefore need to wrap user closures into the Fn(HandleId) -> HandleId shape (and friends) — that wrapping is binding-side because it requires deref+intern operations against the binding’s value registry, and returning a FnId that Core stores in the OperatorOp variant.

Bindings impl both BindingBoundary (Core-callable FFI for project_each / predicate_each / fold_each / pairwise_pack) AND OperatorBinding (the closure-registration calls below).

See OperatorOp for the per-operator FFI dispatch and D016 in docs/rust-port-decisions.md for the wrapping discipline.

Traits§

OperatorBinding
Closure-registration interface used by transform-operator factories.