pub trait HasOperandStack<I> {
type Source;
// Required method
fn operand_stack(&mut self, arity: usize) -> &mut Self::Source;
}Expand description
Framework wiring from composite instruction preparation to operand storage.
A composite with a #[program] device supplies this connection automatically.
Ordinary component/composite authors select PopFromStack and PushToStack
types; they do not implement stack storage or transfer logic.
Opting into this capability selects the global tuple crate::BuildMessage
implementations for compatible child message types. A field name or merely
containing an ExecutionState does not establish the capability. Custom
preparation can use a distinct message type with its own builder.
No canonical-Boolean validation policy is needed: StackValue Boolean
extraction interprets every nonzero word as true.
Required Associated Types§
Required Methods§
Sourcefn operand_stack(&mut self, arity: usize) -> &mut Self::Source
fn operand_stack(&mut self, arity: usize) -> &mut Self::Source
Borrow the operand source for the supplied operand count.
The arity allows a later cached implementation to prepare storage once. This accessor must not consume operands, bulk-precheck their availability, or otherwise change the sequential partial-consumption semantics. Empty tuple and immediate empty batch builders do not invoke it.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".