[][src]Enum whasm::grammar::core::error::Error

pub enum Error {
    InvalidEnumDiscriminant {
        ident: String,
        discriminant: String,
    },
    OutOfRangeSignedInteger,
    OutOfRangeUnsignedInteger,
    UnexpectedEndOfStream,
    RemainingBytesInStream {
        ident: String,
    },
    UnexpectedInstruction {
        ident: String,
    },
    UnsatisfiedMatch {
        expected: String,
        actual: String,
    },
}

This enum contains variants for each type of error produced by the different components of whasm::grammar. The enum implements the std::error::Error trait, so it can be stored in a Box<dyn std::error::Error>.

fn may_error() -> std::result::Result<(), Box<dyn std::error::Error>> {
    Err(Error::UnexpectedEndOfStream)?
}

Variants

InvalidEnumDiscriminant

Error produced when deserializing an enum, and the discriminant does not match any variant.

Fields of InvalidEnumDiscriminant

ident: Stringdiscriminant: String
OutOfRangeSignedInteger

Error produced when deserializing a signed integer, the encoded value can not be represented for the corresponding type.

OutOfRangeUnsignedInteger

Error produced when deserializing an unsigned integer, the encoded value can not be represented for the corresponding type.

UnexpectedEndOfStream

Error produced when deserializing would require reading past the end of the input iterator.

RemainingBytesInStream

Error produced when deserializing a sized struct where the deserialization consumes less bytes than expected.

Fields of RemainingBytesInStream

ident: String
UnexpectedInstruction

Error produced when an instruction variant is deserialized in a context where it is not expected (e.g., deserializing an Else outside of an If block).

Fields of UnexpectedInstruction

ident: String
UnsatisfiedMatch

Error produced when deserializing a field of a struct with a matching attribute that is not satisfied.

Fields of UnsatisfiedMatch

expected: Stringactual: String

Trait Implementations

impl PartialEq<Error> for Error[src]

impl Debug for Error[src]

impl Display for Error[src]

impl StructuralPartialEq for Error[src]

impl Error for Error[src]

Auto Trait Implementations

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl UnwindSafe for Error

impl RefUnwindSafe for Error

Blanket Implementations

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

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

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = !

The type returned in the event of a conversion error.

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.

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

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

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