pub trait Logos<'source>: Sized {
    type Extras;
    type Source: Source + ?Sized + 'source;
    const ERROR: Self;
    fn lex(lexer: &mut Lexer<'source, Self>);
    fn lexer(source: &'source Self::Source) -> Lexer<'source, Self> ⓘ
    where
        Self::Extras: Default,
    { ... }
    fn lexer_with_extras(
        source: &'source Self::Source,
        extras: Self::Extras
    ) -> Lexer<'source, Self> ⓘ { ... }
}Expand description
Trait implemented for an enum representing all tokens. You should never have
to implement it manually, use the #[derive(Logos)] attribute on your enum.