Expand description

Simulates unhygienic macro to make parser’s code cleaner. It lives here because it’s not a generic purpose macro (at all).

This can’t be implemented with macro_rule! because rust does not support token munching (destructing $b:block into { $($t:tt)* }).

Attribute Macros

This attribute macro injects first argument of function (typically self) to all known macros invocation in a function.