Macros procédurales
Alors que les macros simples utilisaient de simples expansions, les macros-procédurales vont nous permettra de manipuler le flux d'entrée de manière programmatique.
Les macros procédurales doivent être définies dans un autre projet, que nous appellerons macros
et que nous placerons au même niveau que le projet pwdchk
.
- Créez un nouveau projet
macros
de typelib
au même niveau quepwdchk
:
$ cargo new --lib macros
- Indiquez dans le
Cargo.toml
du projetmacros
qu'il est de typeproc_macro
:
[lib]
proc_macro = true
- Ajoutez les crates suivants comme dépendances du projet
macros
:
proc-macro2
quote
syn
avec la featurefull
- Dans le projet
pwdchk
, ajoutez une dépendance sur le projetmacros
:
$ cargo add ../macros