[][src]Struct pest::error::Error

pub struct Error<R> {
    pub variant: ErrorVariant<R>,
    pub location: InputLocation,
    pub line_col: LineColLocation,
    // some fields omitted
}

Parse-related error type.

Fields

Variant of the error

Location within the input string

Line/column within the input string

Methods

impl<R: RuleType> Error<R>
[src]

Creates Error from ErrorVariant and Position.

Examples

let error = Error::new_from_pos(
    ErrorVariant::ParsingError {
        positives: vec![Rule::open_paren],
        negatives: vec![Rule::closed_paren]
    },
    pos
);

println!("{}", error);

Creates Error from ErrorVariant and Span.

Examples

let error = Error::new_from_span(
    ErrorVariant::ParsingError {
        positives: vec![Rule::open_paren],
        negatives: vec![Rule::closed_paren]
    },
    span
);

println!("{}", error);

Returns Error variant with path which is shown when formatted with Display.

Examples

Error::new_from_pos(
    ErrorVariant::ParsingError {
        positives: vec![Rule::open_paren],
        negatives: vec![Rule::closed_paren]
    },
    pos
).with_path("file.rs");

Renames all Rules if this is a ParsingError. It does nothing when called on a CustomError.

Useful in order to rename verbose rules or have detailed per-Rule formatting.

Examples

Error::new_from_pos(
    ErrorVariant::ParsingError {
        positives: vec![Rule::open_paren],
        negatives: vec![Rule::closed_paren]
    },
    pos
).renamed_rules(|rule| {
    match *rule {
        Rule::open_paren => "(".to_owned(),
        Rule::closed_paren => "closed paren".to_owned()
    }
});

Trait Implementations

impl<R: PartialEq> PartialEq<Error<R>> for Error<R>
[src]

impl<R: Clone> Clone for Error<R>
[src]

Performs copy-assignment from source. Read more

impl<R: Eq> Eq for Error<R>
[src]

impl<R: RuleType> Display for Error<R>
[src]

impl<R: Debug> Debug for Error<R>
[src]

impl<R: Hash> Hash for Error<R>
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl<'i, R: RuleType> Error for Error<R>
[src]

Deprecated since 1.33.0

: replaced by Error::source, which can support downcasting

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

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

Auto Trait Implementations

impl<R> Send for Error<R> where
    R: Send

impl<R> Sync for Error<R> where
    R: Sync

Blanket Implementations

impl<T> From for T
[src]

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

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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