Skip to main content

ToTokens

Trait ToTokens 

Source
pub trait ToTokens {
    // Required method
    fn to_tokens(&self, tokens: &mut TokenStream);

    // Provided methods
    fn to_token_stream(&self) -> TokenStream { ... }
    fn into_token_stream(self) -> TokenStream
       where Self: Sized { ... }
}
Expand description

Types that can be interpolated inside a quote! invocation.

Required Methods§

Source

fn to_tokens(&self, tokens: &mut TokenStream)

Write self to the given TokenStream.

The token append methods provided by the TokenStreamExt extension trait may be useful for implementing ToTokens.

§Example

Example implementation for a struct representing Rust paths like std::cmp::PartialEq:

use proc_macro2::{TokenTree, Spacing, Span, Punct, TokenStream};
use quote::{TokenStreamExt, ToTokens};

pub struct Path {
    pub global: bool,
    pub segments: Vec<PathSegment>,
}

impl ToTokens for Path {
    fn to_tokens(&self, tokens: &mut TokenStream) {
        for (i, segment) in self.segments.iter().enumerate() {
            if i > 0 || self.global {
                // Double colon `::`
                tokens.append(Punct::new(':', Spacing::Joint));
                tokens.append(Punct::new(':', Spacing::Alone));
            }
            segment.to_tokens(tokens);
        }
    }
}

Provided Methods§

Source

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object.

This method is implicitly implemented using to_tokens, and acts as a convenience method for consumers of the ToTokens trait.

Source

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object.

This method is implicitly implemented using to_tokens, and acts as a convenience method for consumers of the ToTokens trait.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ToTokens for Abstract

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for And

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for AndAnd

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for AndEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for As

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Async

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for At

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Auto

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Await

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Become

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Box

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Break

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for CStr

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for CString

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Caret

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for CaretEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Colon

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Comma

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Const

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Continue

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Crate

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Default

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Do

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Dollar

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Dot

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for DotDot

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for DotDotDot

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for DotDotEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Dyn

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Else

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Enum

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Eq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for EqEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Extern

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for FatArrow

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Final

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Fn

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for For

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Ge

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Group

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Gt

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Ident

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for If

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Impl

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for In

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for LArrow

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Le

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Let

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Lifetime

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Lit

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for LitBool

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for LitByte

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for LitByteStr

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for LitCStr

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for LitChar

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for LitFloat

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for LitInt

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for LitStr

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Literal

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Loop

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Lt

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Macro

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Match

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Minus

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for MinusEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Mod

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Move

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Mut

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Ne

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Not

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Nothing

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Or

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for OrEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for OrOr

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Override

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for PathSep

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Percent

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for PercentEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Plus

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for PlusEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Pound

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Priv

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Pub

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Punct

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Question

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for RArrow

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Raw

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Ref

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Return

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for SelfType

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for SelfValue

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Semi

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Shl

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for ShlEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Shr

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for ShrEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Slash

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for SlashEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Star

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for StarEq

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Static

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for String

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Struct

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Super

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Tilde

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for TokenStream

Source§

impl ToTokens for TokenTree

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Trait

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Try

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Type

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Typeof

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Underscore

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Union

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Unsafe

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Unsized

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Use

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Virtual

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Where

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for While

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for Yield

Available on crate feature printing only.
Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for bool

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for char

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for f32

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for f64

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for i8

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for i16

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for i32

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for i64

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for i128

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for isize

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for str

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for u8

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for u16

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for u32

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for u64

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for u128

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl ToTokens for usize

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl<'a, T> ToTokens for Cow<'a, T>
where T: ToOwned + ToTokens + ?Sized,

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl<T, P> ToTokens for Pair<T, P>
where T: ToTokens, P: ToTokens,

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl<T, P> ToTokens for Punctuated<T, P>
where T: ToTokens, P: ToTokens,

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl<T> ToTokens for &T
where T: ToTokens + ?Sized,

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl<T> ToTokens for &mut T
where T: ToTokens + ?Sized,

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl<T> ToTokens for Arc<T>
where T: ToTokens + ?Sized,

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl<T> ToTokens for Box<T>
where T: ToTokens + ?Sized,

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl<T> ToTokens for Option<T>
where T: ToTokens,

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Source§

impl<T> ToTokens for Rc<T>
where T: ToTokens + ?Sized,

Source§

fn to_tokens(&self, tokens: &mut TokenStream)

Implementors§