Enum 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,
}Unstable (
rustc_private)An enum representing the different kinds of syntax extensions.
Variants
MultiDecorator(Box<MultiItemDecorator + 'static>)Unstable (
rustc_private)A syntax extension that is attached to an item and creates new items based upon it.
#[derive(...)] is a MultiItemDecorator.
MultiModifier(Box<MultiItemModifier + 'static>)Unstable (
rustc_private)A syntax extension that is attached to an item and modifies it in-place. More flexible version than Modifier.
NormalTT(Box<TTMacroExpander + 'static>, Option<Span>, bool)Unstable (
rustc_private)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(Box<IdentMacroExpander + 'static>, Option<Span>, bool)Unstable (
rustc_private)A function-like syntax extension that has an extra ident before the block.
MacroRulesTTUnstable (
rustc_private)Represents macro_rules! itself.