Trait proclet::ProcMacroExt

source ·
pub trait ProcMacroExt: ProcMacro<PM = Self::PMExt, Delimiter = Self::DelimiterExt, Group = Self::GroupExt, Ident = Self::IdentExt, Literal = Self::LiteralExt, Punct = Self::PunctExt, Spacing = Self::SpacingExt, Span = Self::SpanExt, TokenStream = Self::TokenStreamExt, TokenTree = Self::TokenTreeExt, TokenStreamIntoIter = Self::TokenStreamExtIntoIter> {
    type PMExt: PMExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>;
    type DelimiterExt: DelimiterExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>;
    type GroupExt: GroupExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>;
    type IdentExt: IdentExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>;
    type LiteralExt: LiteralExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>;
    type PunctExt: PunctExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>;
    type SpacingExt: SpacingExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>;
    type SpanExt: SpanExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>;
    type TokenStreamExt: TokenStreamExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>;
    type TokenTreeExt: TokenTreeExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>;
    type TokenStreamExtIntoIter: Clone + Iterator<Item = Self::TokenTreeExt>;
}
Expand description

Adds extra bounds to the associated types of ProcMacro to enable extension traits.

You can keep using the types defined in ProcMacro; the associated types of this trait should be considered an implementation detail.

Required Associated Types§

source

type PMExt: PMExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>

Implementation detail to enable extension traits. Use ProcMacro::PM instead.

source

type DelimiterExt: DelimiterExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>

Implementation detail to enable extension traits. Use ProcMacro::Delimiter instead.

source

type GroupExt: GroupExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>

Implementation detail to enable extension traits. Use ProcMacro::Group instead.

source

type IdentExt: IdentExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>

Implementation detail to enable extension traits. Use ProcMacro::Ident instead.

source

type LiteralExt: LiteralExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>

Implementation detail to enable extension traits. Use ProcMacro::Literal instead.

source

type PunctExt: PunctExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>

Implementation detail to enable extension traits. Use ProcMacro::Punct instead.

source

type SpacingExt: SpacingExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>

Implementation detail to enable extension traits. Use ProcMacro::Spacing instead.

source

type SpanExt: SpanExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>

Implementation detail to enable extension traits. Use ProcMacro::Span instead.

source

type TokenStreamExt: TokenStreamExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>

Implementation detail to enable extension traits. Use ProcMacro::TokenStream instead.

source

type TokenTreeExt: TokenTreeExt<PMExt = Self::PMExt, DelimiterExt = Self::DelimiterExt, GroupExt = Self::GroupExt, IdentExt = Self::IdentExt, LiteralExt = Self::LiteralExt, PunctExt = Self::PunctExt, SpacingExt = Self::SpacingExt, SpanExt = Self::SpanExt, TokenStreamExt = Self::TokenStreamExt, TokenTreeExt = Self::TokenTreeExt, TokenStreamExtIntoIter = Self::TokenStreamExtIntoIter>

Implementation detail to enable extension traits. Use ProcMacro::TokenTree instead.

source

type TokenStreamExtIntoIter: Clone + Iterator<Item = Self::TokenTreeExt>

Implementation detail to enable extension traits. Use ProcMacro::TokenStreamIntoIter instead.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ProcMacroExt for Delimiter

Available on crate feature proc-macro only.
source§

impl ProcMacroExt for Spacing

Available on crate feature proc-macro only.
source§

impl ProcMacroExt for TokenTree

Available on crate feature proc-macro only.
source§

impl ProcMacroExt for Delimiter

Available on crate feature proc-macro2 only.
source§

impl ProcMacroExt for Spacing

Available on crate feature proc-macro2 only.
source§

impl ProcMacroExt for TokenTree

Available on crate feature proc-macro2 only.
source§

impl ProcMacroExt for Group

Available on crate feature proc-macro only.
source§

impl ProcMacroExt for Ident

Available on crate feature proc-macro only.
source§

impl ProcMacroExt for Literal

Available on crate feature proc-macro only.
source§

impl ProcMacroExt for Punct

Available on crate feature proc-macro only.
source§

impl ProcMacroExt for Span

Available on crate feature proc-macro only.
source§

impl ProcMacroExt for TokenStream

Available on crate feature proc-macro only.
source§

impl ProcMacroExt for Group

Available on crate feature proc-macro2 only.
source§

impl ProcMacroExt for Ident

Available on crate feature proc-macro2 only.
source§

impl ProcMacroExt for Literal

Available on crate feature proc-macro2 only.
source§

impl ProcMacroExt for Punct

Available on crate feature proc-macro2 only.
source§

impl ProcMacroExt for Span

Available on crate feature proc-macro2 only.
source§

impl ProcMacroExt for TokenStream

Available on crate feature proc-macro2 only.

Implementors§