Macros
- Attribute macros shall not be used
- A macro should not be used in place of a function
- Procedural macros should not be used
- Shall ensure complete hygiene of macros
- Do not hide unsafe blocks within macro expansions
- Names in a macro definition shall use a fully qualified path
- Shall not use Function-like Macros
- Shall not invoke macros
- Shall not use Declarative Macros
- Shall not write code that expands macros