Enum wasmtime_runtime::Trap[][src]

pub enum Trap {
    User(Box<dyn Error + Send + Sync>),
    Jit {
        pc: usize,
        backtrace: Backtrace,
        maybe_interrupted: bool,
    },
    Wasm {
        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.

Jit

A trap raised from jit code

Show fields

Fields of Jit

pc: usize

The program counter in JIT code where this trap happened.

backtrace: Backtrace

Native stack backtrace at the time the trap occurred

maybe_interrupted: bool

An indicator for whether this may have been a trap generated from an interrupt, used for switching what would otherwise be a stack overflow trap to be an interrupt trap.

Wasm

A trap raised from a wasm libcall

Show fields

Fields of Wasm

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.

Show fields

Fields of OOM

backtrace: Backtrace

Native stack backtrace at the time the OOM occurred

Implementations

impl Trap[src]

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

Construct a new Wasm trap with the given source location and 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> 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, 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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V