Enum nom::Err[][src]

pub enum Err<I, E = u32> {
    Incomplete(Needed),
    Error(Context<I, E>),
    Failure(Context<I, E>),
}

The Err enum indicates the parser was not successful

It has three cases:

Depending on a compilation flag, the content of the Context enum can change. In the default case, it will only have one variant: Context::Code(I, ErrorKind<E=u32>) (with I and E configurable). It contains an error code and the input position that triggered it.

If you activate the verbose-errors compilation flags, it will add another variant to the enum: Context::List(Vec<(I, ErrorKind<E>)>). This variant aggregates positions and error codes as the code backtracks through the nested parsers. The verbose errors feature allows for very flexible error management: you can know precisely which parser got to which part of the input. The main drawback is that it is a lot slower than default error management.

Variants

There was not enough data

The parser had an error (recoverable)

The parser had an unrecoverable error: we got to the right branch and we know other branches won't work, so backtrack as fast as possible

Methods

impl<I, E> Err<I, E>
[src]

Trait Implementations

impl<I: Debug, E: Debug> Debug for Err<I, E>
[src]

Formats the value using the given formatter. Read more

impl<I: Clone, E: Clone> Clone for Err<I, E>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<I: PartialEq, E: PartialEq> PartialEq for Err<I, E>
[src]

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

This method tests for !=.

impl<I, E> Display for Err<I, E> where
    I: Debug,
    E: Debug
[src]

Formats the value using the given formatter. Read more

impl<I, E> Error for Err<I, E> where
    I: Debug,
    E: Debug
[src]

This method is soft-deprecated. Read more

The lower-level cause of this error, if any. Read more

impl<I, F, E: From<F>> Convert<Err<I, F>> for Err<I, E>
[src]

Auto Trait Implementations

impl<I, E> Send for Err<I, E> where
    E: Send,
    I: Send

impl<I, E> Sync for Err<I, E> where
    E: Sync,
    I: Sync