pub enum ExecResult<V, I> {
Finished {
instance: V,
gas_left: i64,
},
Syscall {
execution: I,
gas_left: i64,
syscall_symbol: SyscallSymbol,
a0: u64,
a1: u64,
a2: u64,
a3: u64,
a4: u64,
a5: u64,
},
Error {
instance: V,
error: ExecError,
},
}Expand description
Variants§
Finished
Execution finished normally. Returns the idle instance for potential reuse.
Fields
§
instance: VThe idle instance, ready to be prepared for another call.
Syscall
A syscall was encountered. The caller should handle the syscall and then
call Execution::run again to continue execution.
Fields
§
execution: IThe running execution, with memory access available for syscall handling.
§
syscall_symbol: SyscallSymbolThe symbol identifying the syscall.
Error
An error occurred during execution. Returns the idle instance.
Trait Implementations§
impl<V: Eq, I: Eq> Eq for ExecResult<V, I>
Source§impl<V: PartialEq, I: PartialEq> PartialEq for ExecResult<V, I>
impl<V: PartialEq, I: PartialEq> PartialEq for ExecResult<V, I>
Source§fn eq(&self, other: &ExecResult<V, I>) -> bool
fn eq(&self, other: &ExecResult<V, I>) -> bool
Tests for
self and other values to be equal, and is used by ==.impl<V: PartialEq, I: PartialEq> StructuralPartialEq for ExecResult<V, I>
Auto Trait Implementations§
impl<V, I> Freeze for ExecResult<V, I>
impl<V, I> RefUnwindSafe for ExecResult<V, I>where
V: RefUnwindSafe,
I: RefUnwindSafe,
impl<V, I> Send for ExecResult<V, I>
impl<V, I> Sync for ExecResult<V, I>
impl<V, I> Unpin for ExecResult<V, I>
impl<V, I> UnsafeUnpin for ExecResult<V, I>where
V: UnsafeUnpin,
I: UnsafeUnpin,
impl<V, I> UnwindSafe for ExecResult<V, I>where
V: UnwindSafe,
I: UnwindSafe,
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