pub enum WasmError {
InvalidWebAssembly {
message: String,
offset: usize,
},
Unsupported(String),
ImplLimitExceeded,
User(String),
}
Expand description
A WebAssembly translation error.
When a WebAssembly function can’t be translated, one of these error codes will be returned to describe the failure.
Variants§
InvalidWebAssembly
The input WebAssembly code is invalid.
This error code is used by a WebAssembly translator when it encounters invalid WebAssembly code. This should never happen for validated WebAssembly code.
Fields
Unsupported(String)
A feature used by the WebAssembly code is not supported by the embedding environment.
Embedding environments may have their own limitations and feature restrictions.
ImplLimitExceeded
An implementation limit was exceeded.
Cranelift can compile very large and complicated functions, but the implementation has limits that cause compilation to fail when they are exceeded.
User(String)
Any user-defined error.
Trait Implementations§
source§impl From<BinaryReaderError> for WasmError
impl From<BinaryReaderError> for WasmError
source§fn from(e: BinaryReaderError) -> WasmError
fn from(e: BinaryReaderError) -> WasmError
Convert from a BinaryReaderError
to a WasmError
.
Auto Trait Implementations§
impl Freeze for WasmError
impl RefUnwindSafe for WasmError
impl Send for WasmError
impl Sync for WasmError
impl Unpin for WasmError
impl UnwindSafe for WasmError
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
source§impl<T> IntoAnyhow for T
impl<T> IntoAnyhow for T
source§fn into_anyhow(self) -> Error
fn into_anyhow(self) -> Error
self
into an anyhow::Error
.source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more