Enum soroban_wasmi::errors::ErrorKind
source · #[non_exhaustive]pub enum ErrorKind {
Show 15 variants
TrapCode(TrapCode),
Message(Box<str>),
I32ExitStatus(i32),
Host(Box<dyn HostError>),
Global(GlobalError),
Memory(MemoryError),
Table(TableError),
Linker(LinkerError),
Instantiation(InstantiationError),
Fuel(FuelError),
Func(FuncError),
Read(ReadError),
Wasm(BinaryReaderError),
Translation(TranslationError),
Limits(EnforcedLimitsError),
}
Expand description
An error that may occur upon operating on Wasm modules or module instances.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
TrapCode(TrapCode)
A trap code as defined by the WebAssembly specification.
Message(Box<str>)
A message usually provided by Wasmi users of host function calls.
I32ExitStatus(i32)
An i32
exit status usually used by WASI applications.
Host(Box<dyn HostError>)
A trap as defined by the WebAssembly specification.
Global(GlobalError)
A global variable error.
Memory(MemoryError)
A linear memory error.
Table(TableError)
A table error.
Linker(LinkerError)
A linker error.
Instantiation(InstantiationError)
A module instantiation error.
Fuel(FuelError)
A fuel error.
Func(FuncError)
A function error.
Read(ReadError)
Encountered when there is a problem with the Wasm input stream.
Wasm(BinaryReaderError)
Encountered when there is a Wasm parsing or validation error.
Translation(TranslationError)
Encountered when there is a Wasm to Wasmi translation error.
Limits(EnforcedLimitsError)
Encountered when an enforced limit is exceeded.
Implementations§
source§impl ErrorKind
impl ErrorKind
sourcepub fn as_trap_code(&self) -> Option<TrapCode>
pub fn as_trap_code(&self) -> Option<TrapCode>
sourcepub fn as_i32_exit_status(&self) -> Option<i32>
pub fn as_i32_exit_status(&self) -> Option<i32>
Returns a i32
if ErrorKind
is an ErrorKind::I32ExitStatus
.
sourcepub fn as_host_mut(&mut self) -> Option<&mut dyn HostError>
pub fn as_host_mut(&mut self) -> Option<&mut dyn HostError>
Trait Implementations§
source§impl Error for ErrorKind
impl Error for ErrorKind
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for ErrorKind
impl !RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl !UnwindSafe for ErrorKind
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
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.