[][src]Enum nom::Err

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

Incomplete(Needed)

There was not enough data

Error(Context<I, E>)

The parser had an error (recoverable)

Failure(Context<I, E>)

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]

pub fn into_error_kind(self) -> ErrorKind<E>[src]

pub fn is_incomplete(&self) -> bool[src]

Trait Implementations

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

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

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

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

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

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

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

fn source(&self) -> Option<&(dyn Error + 'static)>1.30.0[src]

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

Auto Trait Implementations

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

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

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

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

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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.

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]