Enum TokenTree
pub enum TokenTree<TokenStream, Span, Symbol>
Variants
-
Group(Group<TokenStream, Span>) -
Punct(Punct<Span>) -
Ident(Ident<Span, Symbol>) -
Literal(Literal<Span, Symbol>)
Trait Implementations
impl<'a, S, TokenStream: for<'s> Decode<'a, 's, S>, Span: for<'s> Decode<'a, 's, S>, Symbol: for<'s> Decode<'a, 's, S>> Decode<'a, '_, S> for TokenTree<TokenStream, Span, Symbol>
fn decode(r: &mut &'a [u8], s: &mut S) -> Self
impl<S, TokenStream: Encode<S>, Span: Encode<S>, Symbol: Encode<S>> Encode<S> for TokenTree<TokenStream, Span, Symbol>
fn encode(self, w: &mut Buffer, s: &mut S)
impl<TokenStream: Clone, Span: Clone, Symbol: Clone> Clone for TokenTree<TokenStream, Span, Symbol>
fn clone(&self) -> TokenTree<TokenStream, Span, Symbol>
impl<TokenStream: Mark, Span: Mark, Symbol: Mark> Mark for TokenTree<TokenStream, Span, Symbol>
type Unmarked = TokenTree<<TokenStream as Mark>::Unmarked, <Span as Mark>::Unmarked, <Symbol as Mark>::Unmarked>;fn mark(unmarked: Self::Unmarked) -> Selffn unmark(self) -> Self::Unmarked
Auto Trait Implementations
impl<TokenStream, Span, Symbol> Freeze for TokenTree<TokenStream, Span, Symbol>
where
Group<TokenStream, Span>: Freeze,
Punct<Span>: Freeze,
Ident<Span, Symbol>: Freeze,
Literal<Span, Symbol>: Freeze,
impl<TokenStream, Span, Symbol> RefUnwindSafe for TokenTree<TokenStream, Span, Symbol>
where
Group<TokenStream, Span>: RefUnwindSafe,
Punct<Span>: RefUnwindSafe,
Ident<Span, Symbol>: RefUnwindSafe,
Literal<Span, Symbol>: RefUnwindSafe,
impl<TokenStream, Span, Symbol> Send for TokenTree<TokenStream, Span, Symbol>
where
Group<TokenStream, Span>: Send,
Punct<Span>: Send,
Ident<Span, Symbol>: Send,
Literal<Span, Symbol>: Send,
impl<TokenStream, Span, Symbol> Sync for TokenTree<TokenStream, Span, Symbol>
where
Group<TokenStream, Span>: Sync,
Punct<Span>: Sync,
Ident<Span, Symbol>: Sync,
Literal<Span, Symbol>: Sync,
impl<TokenStream, Span, Symbol> Unpin for TokenTree<TokenStream, Span, Symbol>
where
Group<TokenStream, Span>: Unpin,
Punct<Span>: Unpin,
Ident<Span, Symbol>: Unpin,
Literal<Span, Symbol>: Unpin,
impl<TokenStream, Span, Symbol> UnsafeUnpin for TokenTree<TokenStream, Span, Symbol>
where
Group<TokenStream, Span>: UnsafeUnpin,
Punct<Span>: UnsafeUnpin,
Ident<Span, Symbol>: UnsafeUnpin,
Literal<Span, Symbol>: UnsafeUnpin,
impl<TokenStream, Span, Symbol> UnwindSafe for TokenTree<TokenStream, Span, Symbol>
where
Group<TokenStream, Span>: UnwindSafe,
Punct<Span>: UnwindSafe,
Ident<Span, Symbol>: UnwindSafe,
Literal<Span, Symbol>: UnwindSafe,
Blanket Implementations
impl<T> Any for TokenTree<TokenStream, Span, Symbol>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for TokenTree<TokenStream, Span, Symbol>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for TokenTree<TokenStream, Span, Symbol>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for TokenTree<TokenStream, Span, Symbol>
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for TokenTree<TokenStream, Span, Symbol>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> SizeHint for TokenTree<TokenStream, Span, Symbol>
where
T: ?Sized,
fn lower_bound(&self) -> usizefn upper_bound(&self) -> Option<usize>
impl<T> SizedTypeProperties for TokenTree<TokenStream, Span, Symbol>
impl<T> ToOwned for TokenTree<TokenStream, Span, Symbol>
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for TokenTree<TokenStream, Span, Symbol>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for TokenTree<TokenStream, Span, Symbol>
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for TokenTree<TokenStream, Span, Symbol>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>