Struct flexi_parse::error::Error

source ·
pub struct Error { /* private fields */ }
Expand description

An error or collection of errors raised during parsing.

These errors are intended to be reported using ariadne, but an implementation of ToString is provided as an alternative if that is not possible.

Implementations§

source§

impl Error

source

pub fn eprint(&self) -> Result<()>

Available on crate feature ariadne only.

Prints this error to stderr.

source§

impl Error

source

pub fn add(&mut self, other: Error)

Appends the given error to this one.

source

pub fn with(self, other: Error) -> Self

Consumes self and other, returning a new error with the contents of both.

Examples found in repository?
examples/lox.rs (line 618)
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
    fn parse(input: ParseStream<'_>) -> Result<Self> {
        let mut stmts = vec![];
        let mut errors = vec![];

        while !input.is_empty() {
            match input.parse() {
                Ok(stmt) => stmts.push(stmt),
                Err(err) => {
                    Ast::synchronise(input);
                    errors.push(err);
                }
            }
        }

        if let Some(error) = errors.into_iter().reduce(|acc, err| acc.with(err)) {
            Err(error)
        } else {
            Ok(Ast(stmts))
        }
    }

Trait Implementations§

source§

impl Clone for Error

source§

fn clone(&self) -> Error

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<&Error> for Vec<Report>

Available on crate feature ariadne only.
source§

fn from(value: &Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl RefUnwindSafe for Error

§

impl !Send for Error

§

impl !Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Fmt for Twhere T: Display,

source§

fn fg<C>(self, color: C) -> Foreground<Self>where C: Into<Option<Color>>, Self: Display,

Give this value the specified foreground colour.
source§

fn bg<C>(self, color: C) -> Background<Self>where C: Into<Option<Color>>, Self: Display,

Give this value the specified background colour.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.