pub trait Parsable<TToken>: Debug + Sizedwhere
TToken: Parsable<TToken> + ConsumableToken,{
type ApplyMatchTo: Parsable<TToken> = Self;
// Required method
fn parse(iter: &mut TokenIter<TToken>) -> Result<Self, ParseError<TToken>>;
// Provided methods
fn parse_if_match<F>(
iter: &mut TokenIter<TToken>,
matches: F,
pattern: Option<&'static str>
) -> Result<Self, ParseError<TToken>>
where F: Fn(&Self::ApplyMatchTo) -> bool,
Self: Sized { ... }
fn identifier() -> &'static str { ... }
}