Struct rusty_lr_core::InvalidTerminalError

source ·
pub struct InvalidTerminalError<Term> {
    pub term: Term,
    pub expected: Vec<Term>,
}
Expand description

Error type for feed(), when invalid terminal is feeded

Fields§

§term: Term

invalid terminal feeded

§expected: Vec<Term>

expected terminals

Implementations§

source§

impl<Term> InvalidTerminalError<Term>

source

pub fn backtrace<NonTerm>( parser: &impl GetParser<Term, NonTerm>, context: &impl GetContext<Term, NonTerm>, ) -> Vec<BTreeSet<ShiftedRuleRef>>
where NonTerm: PartialEq,

Generate backtrace information. This trace back on the state stack, and fetch the ruleset of each state. Each ruleset in the returned Vec contains every rule that the state was trying to parse, that is, only the rules with shifted > 0. 0’th index is the latest, that is, the last element of Vec will hold the initial state’s ruleset.

source

pub fn message(&self) -> String
where Term: Display,

Generate brief error message.

source

pub fn long_message<NonTerm>( &self, parser: &impl GetParser<Term, NonTerm>, context: &impl GetContext<Term, NonTerm>, ) -> String
where Term: Display + Hash + Eq, NonTerm: Display + PartialEq,

Generate long, detailed error message.

Trait Implementations§

source§

impl<Term: Debug> Debug for InvalidTerminalError<Term>

source§

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

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

impl<Term: Display> Display for InvalidTerminalError<Term>

source§

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

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

impl<Term: Display + Debug> Error for InvalidTerminalError<Term>

source§

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

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

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

Returns the lower-level source of this error, if any. Read more
source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
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

Auto Trait Implementations§

§

impl<Term> Freeze for InvalidTerminalError<Term>
where Term: Freeze,

§

impl<Term> RefUnwindSafe for InvalidTerminalError<Term>
where Term: RefUnwindSafe,

§

impl<Term> Send for InvalidTerminalError<Term>
where Term: Send,

§

impl<Term> Sync for InvalidTerminalError<Term>
where Term: Sync,

§

impl<Term> Unpin for InvalidTerminalError<Term>
where Term: Unpin,

§

impl<Term> UnwindSafe for InvalidTerminalError<Term>
where Term: 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> 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.