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.

  1. Créez un nouveau projet macros de type lib au même niveau que pwdchk :
$ cargo new --lib macros
  1. Indiquez dans le Cargo.toml du projet macros qu'il est de type proc_macro :
[lib]
proc_macro = true
  1. Ajoutez les crates suivants comme dépendances du projet macros :
  • proc-macro2
  • quote
  • syn avec la feature full
  1. Dans le projet pwdchk, ajoutez une dépendance sur le projet macros :
$ cargo add ../macros