pub enum WagCheckError {
    DuplicateParameters(String, SpannableNode<Ident>),
    DisparateParameters {
        terminal: String,
        offender: Vec<SpannableNode<Ident>>,
        expected: Vec<SpannableNode<Ident>>,
        span: Span,
    },
}
Expand description

Any error that can occur during the rewriting/checking process.

Variants§

§

DuplicateParameters(String, SpannableNode<Ident>)

A rule wants multiple parameters, but they are the exact same.

§

DisparateParameters

Fields

§terminal: String

The non-terminal which has the issue.

§offender: Vec<SpannableNode<Ident>>

The specific Ident which caused the issue.

§expected: Vec<SpannableNode<Ident>>

The Ident we expected to see.

§span: Span

The span information of this node.

Two alternative instances of a rule want different parameters.

Trait Implementations§

source§

impl Debug for WagCheckError

source§

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

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

impl Display for WagCheckError

source§

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

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

impl Error for WagCheckError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

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

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl ErrorReport for WagCheckError

source§

fn msg(&self) -> (String, String)

Return a tuple description of the error message. Read more
source§

fn span(self) -> Span

Return span information for this error.
source§

fn report(self) -> ((String, String), Range<usize>, Option<String>)
where Self: Sized,

Return the full error report
source§

fn source(&self) -> Option<String>

Return the text source for this error message. Read more
source§

impl From<WagCheckError> for WagParseError

source§

fn from(value: WagCheckError) -> Self

Converts to this type from the input type.
source§

impl PartialEq for WagCheckError

source§

fn eq(&self, other: &WagCheckError) -> 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 Eq for WagCheckError

source§

impl StructuralPartialEq for WagCheckError

Auto Trait Implementations§

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
§

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

§

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

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

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

§

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

Compare self to key and return true if they are equal.
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> 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.