pub trait ParserTrait:
Debug
+ Sized
+ 'static {
type Kind: 'static + TokenTrait;
// Required methods
fn step(&self, el: &Element<Self>, state: &mut AStar<'_, Self>);
fn at(&self) -> usize;
fn element_kind(&self) -> Self::Kind;
// Provided method
fn state_dist(&self, _terminal: &Self::Kind) -> isize { ... }
}Required Associated Types§
type Kind: 'static + TokenTrait
Required Methods§
fn step(&self, el: &Element<Self>, state: &mut AStar<'_, Self>)
fn at(&self) -> usize
fn element_kind(&self) -> Self::Kind
Provided Methods§
Sourcefn state_dist(&self, _terminal: &Self::Kind) -> isize
fn state_dist(&self, _terminal: &Self::Kind) -> isize
Precomputed dist(q, a): minimum insertion cost to reach a point where
terminal terminal can be matched, starting from this parser state
(kind, state_number). Default: 0 (always admissible).
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.