pub enum WasmErrorInner {
    PointerMap,
    Deserialize(Vec<u8, Global>),
    Serialize(SerializedBytesError),
    ErrorWhileError,
    Memory,
    GuestResultHandling(String),
    Guest(String),
    Host(String),
    HostShortCircuit(Vec<u8, Global>),
    Compile(String),
    CallError(String),
    UninitializedSerializedModuleCache,
}

Variants

PointerMap

while converting pointers and lengths between u64 and i64 across the host/guest we hit either a negative number (cannot fit in u64) or very large number (cannot fit in i64) negative pointers and lengths are almost certainly indicative of a critical bug somewhere max i64 represents about 9.2 exabytes so should keep us going long enough to patch wasmer if commercial hardware ever threatens to overstep this limit

Deserialize(Vec<u8, Global>)

These bytes failed to deserialize. The host should provide nice debug info and context that the wasm guest won’t have.

Serialize(SerializedBytesError)

Something failed to serialize. This should be rare or impossible for basically everything that implements Serialize.

ErrorWhileError

Somehow we errored while erroring. For example, maybe we failed to serialize an error while attempting to serialize an error.

Memory

Something went wrong while writing or reading bytes to/from wasm memory. this means something like “reading 16 bytes did not produce 2x WasmSize ints” or maybe even “failed to write a byte to some pre-allocated wasm memory” whatever this is it is very bad and probably not recoverable

GuestResultHandling(String)

Failed to take bytes out of the guest and do something with it. The string is whatever error message comes back from the interal process.

Guest(String)

Something to do with guest logic that we don’t know about

Host(String)

Something to do with host logic that we don’t know about

HostShortCircuit(Vec<u8, Global>)

Something to do with host logic that we don’t know about AND wasm execution MUST immediately halt. The Vec holds the encoded data as though the guest had returned.

Compile(String)

Somehow wasmer failed to compile machine code from wasm byte code

CallError(String)

UninitializedSerializedModuleCache

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

The archived version of the pointer metadata for this type.

Converts some archived metadata to the pointer metadata for itself.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Deserializes using the given deserializer

Compare self to key and return true if they are equal.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

The type for metadata in pointers and references to Self.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

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.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more