Struct prqlc_parser::err::parse_error::ChumError

source ·
pub struct ChumError<T: Hash + Eq> { /* private fields */ }

Implementations§

source§

impl<T: Hash + Eq> ChumError<T>

source

pub fn custom<M: ToString>(span: Span, msg: M) -> Self

Create an error with a custom error message.

source

pub fn span(&self) -> Span

Returns the span that the error occurred at.

source

pub fn expected(&self) -> impl ExactSizeIterator<Item = &Option<T>> + '_

Returns an iterator over possible expected patterns.

source

pub fn found(&self) -> Option<&T>

Returns the input, if any, that was found instead of an expected pattern.

source

pub fn reason(&self) -> &Option<String>

Returns the reason for the error.

source

pub fn label(&self) -> Option<&'static str>

Returns the error’s label, if any.

source

pub fn map<U: Hash + Eq, F: FnMut(T) -> U>(self, f: F) -> ChumError<U>

Map the error’s inputs using the given function.

This can be used to unify the errors between parsing stages that operate upon two forms of input (for example, the initial lexing stage and the parsing stage in most compilers).

Trait Implementations§

source§

impl<T: Clone + Hash + Eq> Clone for ChumError<T>

source§

fn clone(&self) -> ChumError<T>

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<T: Debug + Hash + Eq> Debug for ChumError<T>

source§

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

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

impl<T: Display + Hash + Eq> Display for ChumError<T>

source§

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

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

impl<T: Hash + Eq + Display + Debug> Error<T> for ChumError<T>

source§

fn merge(self, other: Self) -> Self

from chumsky::error::Simple

§

type Span = Span

The type of spans to be used in the error.
§

type Label = &'static str

The label used to describe a syntactic structure currently being parsed. Read more
source§

fn expected_input_found<Iter: IntoIterator<Item = Option<T>>>( span: Span, expected: Iter, found: Option<T>, ) -> Self

Create a new error describing a conflict between expected inputs and that which was actually found. Read more
source§

fn unclosed_delimiter( unclosed_span: Self::Span, delimiter: T, span: Self::Span, expected: T, found: Option<T>, ) -> Self

Create a new error describing a delimiter that was not correctly closed. Read more
source§

fn with_label(self, label: Self::Label) -> Self

Indicate that the error occurred while parsing a particular syntactic structure. Read more
source§

impl From<ChumError<TokenKind>> for Error

source§

fn from(p: PError) -> Error

Converts to this type from the input type.
source§

impl<T: Hash + Eq> PartialEq for ChumError<T>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T: Hash + Eq> Eq for ChumError<T>

Auto Trait Implementations§

§

impl<T> Freeze for ChumError<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for ChumError<T>
where T: RefUnwindSafe,

§

impl<T> Send for ChumError<T>
where T: Send,

§

impl<T> Sync for ChumError<T>
where T: Sync,

§

impl<T> Unpin for ChumError<T>
where T: Unpin,

§

impl<T> UnwindSafe for ChumError<T>
where T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> Chain<T> for T

source§

fn len(&self) -> usize

The number of items that this chain link consists of.
source§

fn append_to(self, v: &mut Vec<T>)

Append the elements in this link to the chain.
source§

impl<T> Container<T> for T
where T: Clone,

§

type Iter = Once<T>

An iterator over the items within this container, by value.
source§

fn get_iter(&self) -> <T as Container<T>>::Iter

Iterate over the elements of the container (using internal iteration because GATs are unstable).
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where 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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> ToOwned for T
where 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 T
where 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 T
where 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 T
where 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.
source§

impl<T> OrderedContainer<T> for T
where T: Clone,