Trait parsel::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.

Implementations on Foreign Types§

source§

impl ToTokens for Meta

source§

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

source§

impl ToTokens for Fields

source§

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

source§

impl ToTokens for Expr

source§

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

source§

impl ToTokens for Member

source§

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

source§

impl ToTokens for GenericParam

source§

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

source§

impl ToTokens for TraitBoundModifier

source§

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

source§

impl ToTokens for TypeParamBound

source§

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

source§

impl ToTokens for WherePredicate

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 BinOp

source§

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

source§

impl ToTokens for UnOp

source§

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

source§

impl ToTokens for GenericArgument

source§

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

source§

impl ToTokens for PathArguments

source§

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

source§

impl ToTokens for Visibility

source§

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

source§

impl ToTokens for ReturnType

source§

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

source§

impl ToTokens for Type

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 ToTokens for String

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 Literal

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 Attribute

source§

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

source§

impl ToTokens for MetaList

source§

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

source§

impl ToTokens for MetaNameValue

source§

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

source§

impl ToTokens for Field

source§

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

source§

impl ToTokens for FieldsNamed

source§

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

source§

impl ToTokens for FieldsUnnamed

source§

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

source§

impl ToTokens for Variant

source§

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

source§

impl ToTokens for DeriveInput

source§

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

source§

impl ToTokens for ExprArray

source§

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

source§

impl ToTokens for ExprAssign

source§

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

source§

impl ToTokens for ExprAsync

source§

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

source§

impl ToTokens for ExprAwait

source§

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

source§

impl ToTokens for ExprBinary

source§

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

source§

impl ToTokens for ExprBlock

source§

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

source§

impl ToTokens for ExprBreak

source§

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

source§

impl ToTokens for ExprCall

source§

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

source§

impl ToTokens for ExprCast

source§

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

source§

impl ToTokens for ExprClosure

source§

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

source§

impl ToTokens for ExprConst

source§

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

source§

impl ToTokens for ExprContinue

source§

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

source§

impl ToTokens for ExprField

source§

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

source§

impl ToTokens for ExprForLoop

source§

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

source§

impl ToTokens for ExprGroup

source§

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

source§

impl ToTokens for ExprIf

source§

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

source§

impl ToTokens for ExprIndex

source§

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

source§

impl ToTokens for ExprInfer

source§

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

source§

impl ToTokens for ExprLet

source§

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

source§

impl ToTokens for ExprLit

source§

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

source§

impl ToTokens for ExprLoop

source§

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

source§

impl ToTokens for ExprMacro

source§

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

source§

impl ToTokens for ExprMatch

source§

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

source§

impl ToTokens for ExprMethodCall

source§

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

source§

impl ToTokens for ExprParen

source§

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

source§

impl ToTokens for ExprPath

source§

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

source§

impl ToTokens for ExprRange

source§

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

source§

impl ToTokens for ExprReference

source§

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

source§

impl ToTokens for ExprRepeat

source§

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

source§

impl ToTokens for ExprReturn

source§

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

source§

impl ToTokens for ExprStruct

source§

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

source§

impl ToTokens for ExprTry

source§

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

source§

impl ToTokens for ExprTryBlock

source§

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

source§

impl ToTokens for ExprTuple

source§

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

source§

impl ToTokens for ExprUnary

source§

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

source§

impl ToTokens for ExprUnsafe

source§

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

source§

impl ToTokens for ExprWhile

source§

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

source§

impl ToTokens for ExprYield

source§

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

source§

impl ToTokens for FieldValue

source§

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

source§

impl ToTokens for Index

source§

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

source§

impl ToTokens for BoundLifetimes

source§

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

source§

impl ToTokens for ConstParam

source§

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

source§

impl ToTokens for Generics

source§

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

source§

impl ToTokens for LifetimeParam

source§

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

source§

impl ToTokens for PredicateLifetime

source§

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

source§

impl ToTokens for PredicateType

source§

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

source§

impl ToTokens for TraitBound

source§

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

source§

impl ToTokens for TypeParam

source§

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

source§

impl ToTokens for WhereClause

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 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 Macro

source§

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

source§

impl ToTokens for Nothing

source§

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

source§

impl ToTokens for AngleBracketedGenericArguments

source§

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

source§

impl ToTokens for AssocConst

source§

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

source§

impl ToTokens for AssocType

source§

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

source§

impl ToTokens for Constraint

source§

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

source§

impl ToTokens for ParenthesizedGenericArguments

source§

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

source§

impl ToTokens for Path

source§

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

source§

impl ToTokens for PathSegment

source§

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

source§

impl ToTokens for VisRestricted

source§

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

source§

impl ToTokens for Abi

source§

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

source§

impl ToTokens for BareFnArg

source§

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

source§

impl ToTokens for BareVariadic

source§

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

source§

impl ToTokens for TypeArray

source§

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

source§

impl ToTokens for TypeBareFn

source§

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

source§

impl ToTokens for TypeGroup

source§

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

source§

impl ToTokens for TypeImplTrait

source§

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

source§

impl ToTokens for TypeInfer

source§

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

source§

impl ToTokens for TypeMacro

source§

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

source§

impl ToTokens for TypeNever

source§

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

source§

impl ToTokens for TypeParen

source§

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

source§

impl ToTokens for TypePath

source§

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

source§

impl ToTokens for TypePtr

source§

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

source§

impl ToTokens for TypeReference

source§

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

source§

impl ToTokens for TypeSlice

source§

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

source§

impl ToTokens for TypeTraitObject

source§

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

source§

impl ToTokens for TypeTuple

source§

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

source§

impl<'a> ToTokens for ImplGenerics<'a>

source§

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

source§

impl<'a> ToTokens for Turbofish<'a>

source§

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

source§

impl<'a> ToTokens for TypeGenerics<'a>

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<'a, T> ToTokens for &'a T
where T: ToTokens + ?Sized,

source§

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

source§

impl<'a, T> ToTokens for &'a mut 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 Box<T>
where T: ToTokens + ?Sized,

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)

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)

Implementors§

source§

impl ToTokens for parsel::ast::Lit

source§

impl ToTokens for TokenTree

source§

impl ToTokens for Empty

source§

impl ToTokens for Eof

source§

impl ToTokens for Ident

source§

impl ToTokens for parsel::ast::LitBool

source§

impl ToTokens for parsel::ast::LitByte

source§

impl ToTokens for parsel::ast::LitByteStr

source§

impl ToTokens for parsel::ast::LitChar

source§

impl ToTokens for parsel::ast::LitFloat

source§

impl ToTokens for parsel::ast::LitInt

source§

impl ToTokens for parsel::ast::LitStr

source§

impl ToTokens for LitUint

source§

impl ToTokens for NotEof

source§

impl ToTokens for Abstract

source§

impl ToTokens for And

source§

impl ToTokens for AndAnd

source§

impl ToTokens for AndEq

source§

impl ToTokens for As

source§

impl ToTokens for Async

source§

impl ToTokens for At

source§

impl ToTokens for Auto

source§

impl ToTokens for Await

source§

impl ToTokens for Become

source§

impl ToTokens for parsel::ast::token::Box

source§

impl ToTokens for Break

source§

impl ToTokens for Caret

source§

impl ToTokens for CaretEq

source§

impl ToTokens for Colon

source§

impl ToTokens for Comma

source§

impl ToTokens for Const

source§

impl ToTokens for Continue

source§

impl ToTokens for Crate

source§

impl ToTokens for Default

source§

impl ToTokens for Do

source§

impl ToTokens for Dollar

source§

impl ToTokens for Dot

source§

impl ToTokens for DotDot

source§

impl ToTokens for DotDotDot

source§

impl ToTokens for DotDotEq

source§

impl ToTokens for Dyn

source§

impl ToTokens for Else

source§

impl ToTokens for Enum

source§

impl ToTokens for Eq

source§

impl ToTokens for EqEq

source§

impl ToTokens for Extern

source§

impl ToTokens for FatArrow

source§

impl ToTokens for Final

source§

impl ToTokens for Fn

source§

impl ToTokens for For

source§

impl ToTokens for Ge

source§

impl ToTokens for Gt

source§

impl ToTokens for If

source§

impl ToTokens for Impl

source§

impl ToTokens for In

source§

impl ToTokens for LArrow

source§

impl ToTokens for Le

source§

impl ToTokens for Let

source§

impl ToTokens for Loop

source§

impl ToTokens for Lt

source§

impl ToTokens for parsel::ast::token::Macro

source§

impl ToTokens for Match

source§

impl ToTokens for Minus

source§

impl ToTokens for MinusEq

source§

impl ToTokens for Mod

source§

impl ToTokens for Move

source§

impl ToTokens for Mut

source§

impl ToTokens for Ne

source§

impl ToTokens for Not

source§

impl ToTokens for Or

source§

impl ToTokens for OrEq

source§

impl ToTokens for OrOr

source§

impl ToTokens for Override

source§

impl ToTokens for PathSep

source§

impl ToTokens for Percent

source§

impl ToTokens for PercentEq

source§

impl ToTokens for Plus

source§

impl ToTokens for PlusEq

source§

impl ToTokens for Pound

source§

impl ToTokens for Priv

source§

impl ToTokens for Pub

source§

impl ToTokens for Question

source§

impl ToTokens for RArrow

source§

impl ToTokens for Ref

source§

impl ToTokens for Return

source§

impl ToTokens for SelfType

source§

impl ToTokens for SelfValue

source§

impl ToTokens for Semi

source§

impl ToTokens for Shl

source§

impl ToTokens for ShlEq

source§

impl ToTokens for Shr

source§

impl ToTokens for ShrEq

source§

impl ToTokens for Slash

source§

impl ToTokens for SlashEq

source§

impl ToTokens for Star

source§

impl ToTokens for StarEq

source§

impl ToTokens for Static

source§

impl ToTokens for Struct

source§

impl ToTokens for Super

source§

impl ToTokens for Tilde

source§

impl ToTokens for Trait

source§

impl ToTokens for Try

source§

impl ToTokens for parsel::ast::token::Type

source§

impl ToTokens for Typeof

source§

impl ToTokens for Underscore

source§

impl ToTokens for Union

source§

impl ToTokens for Unsafe

source§

impl ToTokens for Unsized

source§

impl ToTokens for Use

source§

impl ToTokens for Virtual

source§

impl ToTokens for Where

source§

impl ToTokens for While

source§

impl ToTokens for Yield

source§

impl ToTokens for TokenStream

source§

impl<K> ToTokens for CustomIdent<K>

source§

impl<L, R> ToTokens for Either<L, R>
where L: ToTokens, R: ToTokens,

source§

impl<O, L> ToTokens for RightAssoc<O, L>
where O: ToTokens, L: ToTokens,

source§

impl<O, R> ToTokens for LeftAssoc<O, R>
where O: ToTokens, R: ToTokens,

source§

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

source§

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

source§

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

source§

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

source§

impl<T: ToTokens> ToTokens for Brace<T>

source§

impl<T: ToTokens> ToTokens for Bracket<T>

source§

impl<T: ToTokens> ToTokens for Paren<T>