Summary Introduction Syntax Extensions Source Analysis Macros in the Ast Expansion Hygiene Debugging Declarative Macros A Methodical Introduction A Practical Introduction Minutiae Fragment Specifiers Metavariables and Expansion Redux Metavariable Expressions Hygiene Non-Identifier Identifiers Debugging Scoping Import and Export Patterns Callbacks Incremental TT Munchers Internal Rules Push-down Accumulation Repetition Replacement TT Bundling Building Blocks AST Coercion Counting Abacus Counting Parsing Rust Macros 2.0 Procedural Macros A Methodical Introduction Function-like Attribute Derive A Practical Introduction Function-like Attribute Derive Third-Party Crates Hygiene and Spans Techniques Testing Glossary