Trait ProcMacro

Source
pub trait ProcMacro:
    'static
    + Clone
    + Debug
    + Sealed {
    type PM: PM<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>;
    type Delimiter: Delimiter<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>;
    type Group: Group<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>;
    type Ident: Ident<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>;
    type Literal: Literal<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>;
    type Punct: Punct<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>;
    type Spacing: Spacing<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>;
    type Span: Span<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>;
    type TokenStream: TokenStream<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>;
    type TokenTree: TokenTree<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>;
    type TokenStreamIntoIter: Clone + Iterator<Item = Self::TokenTree>;
}
Expand description

Base trait with associated type aliases for types from proc-macro/proc-macro2. See also ProcMacroExt.

Required Associated Types§

Source

type PM: PM<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>

Proc macro selected type alias.

Source

type Delimiter: Delimiter<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>

Proc macro selected type alias.

Source

type Group: Group<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>

Proc macro selected type alias.

Source

type Ident: Ident<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>

Proc macro selected type alias.

Source

type Literal: Literal<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>

Proc macro selected type alias.

Source

type Punct: Punct<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>

Proc macro selected type alias.

Source

type Spacing: Spacing<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>

Proc macro selected type alias.

Source

type Span: Span<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>

Proc macro selected type alias.

Source

type TokenStream: TokenStream<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>

Proc macro selected type alias.

Source

type TokenTree: TokenTree<PM = Self::PM, Delimiter = Self::Delimiter, Group = Self::Group, Ident = Self::Ident, Literal = Self::Literal, Punct = Self::Punct, Spacing = Self::Spacing, Span = Self::Span, TokenStream = Self::TokenStream, TokenTree = Self::TokenTree, TokenStreamIntoIter = Self::TokenStreamIntoIter>

Proc macro selected type alias.

Source

type TokenStreamIntoIter: Clone + Iterator<Item = Self::TokenTree>

Proc macro selected type alias.

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.

Implementations on Foreign Types§

Source§

impl ProcMacro for Delimiter

Available on crate feature proc-macro only.
Source§

impl ProcMacro for Spacing

Available on crate feature proc-macro only.
Source§

impl ProcMacro for TokenTree

Available on crate feature proc-macro only.
Source§

impl ProcMacro for Delimiter

Available on crate feature proc-macro2 only.
Source§

impl ProcMacro for Spacing

Available on crate feature proc-macro2 only.
Source§

impl ProcMacro for TokenTree

Available on crate feature proc-macro2 only.
Source§

impl ProcMacro for Group

Available on crate feature proc-macro only.
Source§

impl ProcMacro for Ident

Available on crate feature proc-macro only.
Source§

impl ProcMacro for Literal

Available on crate feature proc-macro only.
Source§

impl ProcMacro for Punct

Available on crate feature proc-macro only.
Source§

impl ProcMacro for Span

Available on crate feature proc-macro only.
Source§

impl ProcMacro for TokenStream

Available on crate feature proc-macro only.
Source§

impl ProcMacro for Group

Available on crate feature proc-macro2 only.
Source§

impl ProcMacro for Ident

Available on crate feature proc-macro2 only.
Source§

impl ProcMacro for Literal

Available on crate feature proc-macro2 only.
Source§

impl ProcMacro for Punct

Available on crate feature proc-macro2 only.
Source§

impl ProcMacro for Span

Available on crate feature proc-macro2 only.
Source§

impl ProcMacro for TokenStream

Available on crate feature proc-macro2 only.

Implementors§