pub struct ChipCall {
pub chip_id: usize,
pub first_instance: usize,
pub inout: Vec<Operand>,
}Expand description
One invocation of a chip by the constraint system holding this call.
Fields§
§chip_id: usizeThe ID of the chip being called: its index in ConstraintSystemM4::chips.
first_instance: usizeThe instance of the callee that the caller’s first instance invokes.
A call site runs once per instance of its caller, so it claims the callee’s instances
first_instance..first_instance + n_active, where n_active is the caller’s own
active-instance count: the caller’s instance i invokes instance first_instance + i.
Main runs once, so each of its calls claims a single instance.
Like the active-instance counts, this is denormalized — the call graph already says it, and
ConstraintSystemM4::validate holds the two to each other.
inout: Vec<Operand>The words passed as the callee’s inout values, positionally, as operands over the caller’s value vector.
There is at most one operand per inout value of the callee; the values past them are constrained to zero.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ChipCall
impl RefUnwindSafe for ChipCall
impl Send for ChipCall
impl Sync for ChipCall
impl Unpin for ChipCall
impl UnsafeUnpin for ChipCall
impl UnwindSafe for ChipCall
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more