Struct miden_core::code_blocks::Loop
source · pub struct Loop { /* private fields */ }
Expand description
A code block used to describe condition-based iterative execution.
When the VM encounters a Loop block, executes the loop’s body if the top of the stack is 1
,
and skips the block if the top of the stack is 0
. If the top of the stack is neither 0
nor
1
, the program fails. Once the loop body is fully executed, the VM checks the top of the
stack again. If the top of the stack is 1
, the loop is executed again, if it is 0
, the VM
stops executing the loop and moves to the next block. Thus, the body of the loop is executed
while the top of the stack remains 1
at the end of each loop iteration.
Hash of a Loop block is computed by hashing a concatenation of the loop’s body hash with zero.
Implementations
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Loop
impl Send for Loop
impl Sync for Loop
impl Unpin for Loop
impl UnwindSafe for Loop
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more