Struct soroban_wasmi::core::Trap
source · pub struct Trap { /* private fields */ }
Expand description
Error type which can be returned by Wasm code or by the host environment.
Under some conditions, Wasm execution may produce a Trap
,
which immediately aborts execution.
Traps cannot be handled by WebAssembly code, but are reported to the
host embedder.
Implementations§
source§impl Trap
impl Trap
sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: HostError,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: HostError,
Downcasts the Trap
into the T: HostError
if possible.
Returns None
otherwise.
sourcepub fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: HostError,
pub fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: HostError,
Downcasts the Trap
into the T: HostError
if possible.
Returns None
otherwise.
sourcepub fn downcast<T>(self) -> Option<T>where
T: HostError,
pub fn downcast<T>(self) -> Option<T>where
T: HostError,
Consumes self
to downcast the Trap
into the T: HostError
if possible.
Returns None
otherwise.
sourcepub fn i32_exit(status: i32) -> Trap
pub fn i32_exit(status: i32) -> Trap
Creates a new Trap
representing an explicit program exit with a classic i32
exit status value.
sourcepub fn i32_exit_status(&self) -> Option<i32>
pub fn i32_exit_status(&self) -> Option<i32>
Returns the classic i32
exit program code of a Trap
if any.
Otherwise returns None
.
Trait Implementations§
source§impl Error for Trap
impl Error for Trap
source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
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
Auto Trait Implementations§
impl Freeze for Trap
impl !RefUnwindSafe for Trap
impl Send for Trap
impl Sync for Trap
impl Unpin for Trap
impl !UnwindSafe for Trap
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.