Enum syntex_syntax::ext::base::SyntaxExtension [] [src]

pub enum SyntaxExtension {
    MultiDecorator(Box<MultiItemDecorator + 'static>),
    MultiModifier(Box<MultiItemModifier + 'static>),
    NormalTT(Box<TTMacroExpander + 'static>, Option<Span>, bool),
    IdentTT(Box<IdentMacroExpander + 'static>, Option<Span>, bool),
    MacroRulesTT,
}

An enum representing the different kinds of syntax extensions.

Variants

MultiDecorator

A syntax extension that is attached to an item and creates new items based upon it.

#[derive(...)] is a MultiItemDecorator.

MultiModifier

A syntax extension that is attached to an item and modifies it in-place. More flexible version than Modifier.

NormalTT

A normal, function-like syntax extension.

bytes! is a NormalTT.

The bool dictates whether the contents of the macro can directly use #[unstable] things (true == yes).

IdentTT

A function-like syntax extension that has an extra ident before the block.

MacroRulesTT

Represents macro_rules! itself.