コードを入力として受け取り、変更を加えて新しいコードを出力する[[マクロ]]。[[Rust]]では以下3種類に分類される。
| 名称 | 説明 |
| ------------- | ------------------------------------------------------- |
| [[deriveマクロ]] | [[構造体 (Rust)\|構造体]]や[[Enum (Rust)\|Enum]]に`derive`属性に指定 |
| [[属性風マクロ]] | 任意の要素に指定 |
| [[関数風マクロ]] | 関数のように指定 |