pub enum StepOutcome<F, R, A, Y, I> {
Continue(CodeCursor),
Call(F),
Return(R),
Raise(A),
Yield(Y),
Interrupt(I),
}Expand description
The explicit result of executing exactly one decoded instruction.
Variants§
Continue(CodeCursor)
Continue in the current frame at the supplied validated cursor.
Call(F)
Push a new guest frame. This is data interpreted by the loop, not a Rust call.
Return(R)
Pop the current guest frame and carry consumer-defined return data.
Raise(A)
Stop with a consumer-defined abrupt outcome.
Yield(Y)
Cooperatively yield consumer-defined state.
Interrupt(I)
Stop for a consumer-defined interrupt.
Auto Trait Implementations§
impl<F, R, A, Y, I> Freeze for StepOutcome<F, R, A, Y, I>
impl<F, R, A, Y, I> RefUnwindSafe for StepOutcome<F, R, A, Y, I>
impl<F, R, A, Y, I> Send for StepOutcome<F, R, A, Y, I>
impl<F, R, A, Y, I> Sync for StepOutcome<F, R, A, Y, I>
impl<F, R, A, Y, I> Unpin for StepOutcome<F, R, A, Y, I>
impl<F, R, A, Y, I> UnsafeUnpin for StepOutcome<F, R, A, Y, I>
impl<F, R, A, Y, I> UnwindSafe for StepOutcome<F, R, A, Y, I>
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
Mutably borrows from an owned value. Read more