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

Fields

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.

A trap raised from jit code

Wasm

Fields

trap_code: TrapCode

Code of the trap.

backtrace: Backtrace

Native stack backtrace at the time the trap occurred

A trap raised from a wasm libcall

OOM

Fields

backtrace: Backtrace

Native stack backtrace at the time the OOM occurred

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

Implementations

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

Internally saves a backtrace when constructed.

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

Internally saves a backtrace when constructed.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.