[][src]Enum wast::lexer::LexError

pub enum LexError {
    DanglingBlockComment,
    Unexpected(char),
    InvalidStringElement(char),
    InvalidStringEscape(char),
    InvalidHexDigit(char),
    InvalidDigit(char),
    Expected {
        wanted: char,
        found: char,
    },
    UnexpectedEof,
    NumberTooBig,
    InvalidUnicodeValue(u32),
    LoneUnderscore,
    // some variants omitted
}

Errors that can be generated while lexing.

All lexing errors have line/colum/position information as well as a LexError indicating what kind of error happened while lexing.

Variants

DanglingBlockComment

A dangling block comment was found with an unbalanced (; which was never terminated in the file.

Unexpected(char)

An unexpected character was encountered when generally parsing and looking for something else.

InvalidStringElement(char)

An invalid char in a string literal was found.

InvalidStringEscape(char)

An invalid string escape letter was found (the thing after the \ in string literals)

InvalidHexDigit(char)

An invalid hexadecimal digit was found.

InvalidDigit(char)

An invalid base-10 digit was found.

Expected

Parsing expected wanted but ended up finding found instead where the two characters aren't the same.

Fields of Expected

wanted: char

The character that was expected to be found

found: char

The character that was actually found

UnexpectedEof

We needed to parse more but EOF (or end of the string) was encountered.

NumberTooBig

A number failed to parse because it was too big to fit within the target type.

InvalidUnicodeValue(u32)

An invalid unicode value was found in a \u{...} escape in a string, only valid unicode scalars can be escaped that way.

LoneUnderscore

A lone underscore was found when parsing a number, since underscores should always be preceded and succeeded with a digit of some form.

Trait Implementations

impl Clone for LexError[src]

impl Debug for LexError[src]

impl Display for LexError[src]

impl PartialEq<LexError> for LexError[src]

impl StructuralPartialEq for LexError[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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

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.

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.