# Declarative macro with parameters and visibility pub macro identity($value:expr) { $value } ==> SourceFile( DeclarativeMacroItem( Vis(pub), macro, BoundIdentifier, ParenthesizedTokens(TokenBinding(Metavariable, Identifier)), BracedTokens(Metavariable))) # Declarative macro without parameters macro empty {} ==> SourceFile( DeclarativeMacroItem( macro, BoundIdentifier, BracedTokens))