Struct TokenWithSpan
pub struct TokenWithSpan {
pub token: Token,
pub span: Span,
}Expand description
A Token with Span attached to it
This is used to track the location of a token in the input string
§Examples
// commas @ line 1, column 10
let tok1 = TokenWithSpan::new(
Token::Comma,
Span::new(Location::new(1, 10), Location::new(1, 11)),
);
assert_eq!(tok1, Token::Comma); // can compare the token
// commas @ line 2, column 20
let tok2 = TokenWithSpan::new(
Token::Comma,
Span::new(Location::new(2, 20), Location::new(2, 21)),
);
// same token but different locations are not equal
assert_ne!(tok1, tok2);Fields§
§token: Token§span: SpanImplementations§
§impl TokenWithSpan
impl TokenWithSpan
pub fn new(token: Token, span: Span) -> TokenWithSpan
pub fn new(token: Token, span: Span) -> TokenWithSpan
Create a new TokenWithSpan from a Token and a Span
pub fn wrap(token: Token) -> TokenWithSpan
pub fn wrap(token: Token) -> TokenWithSpan
Wrap a token with an empty span
pub fn at(token: Token, start: Location, end: Location) -> TokenWithSpan
pub fn at(token: Token, start: Location, end: Location) -> TokenWithSpan
Wrap a token with a location from start to end
pub fn new_eof() -> TokenWithSpan
pub fn new_eof() -> TokenWithSpan
Return an EOF token with no location
Trait Implementations§
§impl Clone for TokenWithSpan
impl Clone for TokenWithSpan
§fn clone(&self) -> TokenWithSpan
fn clone(&self) -> TokenWithSpan
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for TokenWithSpan
impl Debug for TokenWithSpan
§impl Display for TokenWithSpan
impl Display for TokenWithSpan
§impl From<AttachedToken> for TokenWithSpan
impl From<AttachedToken> for TokenWithSpan
§fn from(value: AttachedToken) -> TokenWithSpan
fn from(value: AttachedToken) -> TokenWithSpan
Converts to this type from the input type.
§impl From<TokenWithSpan> for AttachedToken
impl From<TokenWithSpan> for AttachedToken
§fn from(value: TokenWithSpan) -> AttachedToken
fn from(value: TokenWithSpan) -> AttachedToken
Converts to this type from the input type.
§impl Hash for TokenWithSpan
impl Hash for TokenWithSpan
§impl Ord for TokenWithSpan
impl Ord for TokenWithSpan
§impl PartialEq<Token> for TokenWithSpan
impl PartialEq<Token> for TokenWithSpan
§impl PartialEq<TokenWithSpan> for Token
impl PartialEq<TokenWithSpan> for Token
§impl PartialEq for TokenWithSpan
impl PartialEq for TokenWithSpan
§impl PartialOrd for TokenWithSpan
impl PartialOrd for TokenWithSpan
§impl Visit for TokenWithSpan
impl Visit for TokenWithSpan
§impl VisitMut for TokenWithSpan
impl VisitMut for TokenWithSpan
fn visit<V>(&mut self, visitor: &mut V) -> ControlFlow<<V as VisitorMut>::Break>where
V: VisitorMut,
impl Eq for TokenWithSpan
impl StructuralPartialEq for TokenWithSpan
Auto Trait Implementations§
impl Freeze for TokenWithSpan
impl RefUnwindSafe for TokenWithSpan
impl Send for TokenWithSpan
impl Sync for TokenWithSpan
impl Unpin for TokenWithSpan
impl UnwindSafe for TokenWithSpan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.