Enum wasmer_vm::Trap[][src]

pub enum Trap {
    User(Box<dyn Error + Send + Sync>),
    Wasm {
        pc: usize,
        backtrace: Backtrace,
        signal_trap: Option<TrapCode>,
    },
    Lib {
        trap_code: TrapCode,
        backtrace: Backtrace,
    },
    OOM {
        backtrace: Backtrace,
    },
}
Expand description

Stores trace message with backtrace.

Variants

User(Box<dyn Error + Send + Sync>)

A user-raised trap through raise_user_trap.

Wasm

A trap raised from the Wasm generated code

Note: this trap is deterministic (assuming a deterministic host implementation)

Show fields

Fields of Wasm

pc: usize

The program counter in generated code where this trap happened.

backtrace: Backtrace

Native stack backtrace at the time the trap occurred

signal_trap: Option<TrapCode>

Optional trapcode associated to the signal that caused the trap

Lib

A trap raised from a wasm libcall

Note: this trap is deterministic (assuming a deterministic host implementation)

Show fields

Fields of Lib

trap_code: TrapCode

Code of the trap.

backtrace: Backtrace

Native stack backtrace at the time the trap occurred

OOM

A trap indicating that the runtime was unable to allocate sufficient memory.

Note: this trap is nondeterministic, since it depends on the host system.

Show fields

Fields of OOM

backtrace: Backtrace

Native stack backtrace at the time the OOM occurred

Implementations

impl Trap[src]

pub fn wasm(
    pc: usize,
    backtrace: Backtrace,
    signal_trap: Option<TrapCode>
) -> Self
[src]

Construct a new Wasm trap with the given source location and backtrace.

Internally saves a backtrace when constructed.

pub fn lib(trap_code: TrapCode) -> Self[src]

Construct a new Wasm trap with the given trap code.

Internally saves a backtrace when constructed.

pub fn oom() -> Self[src]

Construct a new OOM trap with the given source location and trap code.

Internally saves a backtrace when constructed.

Trait Implementations

impl Debug for Trap[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl !RefUnwindSafe for Trap

impl Send for Trap

impl Sync for Trap

impl Unpin for Trap

impl !UnwindSafe for Trap

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> ArchivePointee for T

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.

pub fn pointer_metadata(
    &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointee for T

type Metadata = ()

The type for metadata in pointers and references to Self.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.