pub trait Token:
PartialEq
+ Clone
+ Display
+ Debug
+ 'static {
type Char: CharType;
// Required methods
fn base(&self) -> &BaseToken<Self::Char>;
fn new(
base: BaseToken<Self::Char>,
sourceref: Option<(Ptr<String>, (usize, usize), (usize, usize))>,
) -> Self;
fn with_ref(&self, token: &Ptr<Self>, cmd: &Ptr<Command<Self>>) -> Self;
fn sourceref_trace(&self) -> Option<String>;
fn from_str(s: String) -> Vec<Self>;
// Provided method
fn catcode(&self) -> CategoryCode { ... }
}
Required Associated Types§
Required Methods§
Sourcefn new(
base: BaseToken<Self::Char>,
sourceref: Option<(Ptr<String>, (usize, usize), (usize, usize))>,
) -> Self
fn new( base: BaseToken<Self::Char>, sourceref: Option<(Ptr<String>, (usize, usize), (usize, usize))>, ) -> Self
Sourcefn with_ref(&self, token: &Ptr<Self>, cmd: &Ptr<Command<Self>>) -> Self
fn with_ref(&self, token: &Ptr<Self>, cmd: &Ptr<Command<Self>>) -> Self
Clone this Token
with a new SourceReference
of type SourceReference::Expansion
(if the Token
is a TokenWithSourceref
).
fn sourceref_trace(&self) -> Option<String>
Provided Methods§
Sourcefn catcode(&self) -> CategoryCode
fn catcode(&self) -> CategoryCode
The CategoryCode
of the Token
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.