[][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: ErrorVariant<R>

Variant of the error

location: InputLocation

Location within the input string

line_col: LineColLocation

Line/column within the input string

Methods

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

pub fn new_from_pos(variant: ErrorVariant<R>, pos: Position) -> 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);

pub fn new_from_span(variant: ErrorVariant<R>, span: Span) -> Error<R>[src]

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);

pub fn with_path(self, path: &str) -> Error<R>[src]

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");

pub fn renamed_rules<F>(self, f: F) -> Error<R> where
    F: FnMut(&R) -> String
[src]

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: Clone> Clone for Error<R>[src]

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

Performs copy-assignment from source. Read more

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

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

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

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

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

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

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

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

fn cause(&self) -> Option<&dyn Error>1.0.0[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

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

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

fn type_id(&self) -> TypeId where
    Self: 'static, 
1.34.0[src]

Gets the TypeId of self

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> ToString for T where
    T: Display + ?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, 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> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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