Macros procédurales
Nous allons construire lors de ces travaux pratiques quelques macros procédurales. Nous aurons besoin d'en écrire de nouvelles lors de la partie consacrée à la programmation asynchrone.
- Créez un crate
macros
qui indique dans sonCargo.toml
être la source de macros procédurales :
[lib]
proc_macro = true
- Ajoutez les dépendances que nous utiliserons pour manipuler les tokens et l'arbre de syntaxe abstrait et pour signaler les erreurs :
proc-macro2
pour la manipulation des tokensquote
pour la génération de code avec templatesyn
avec les featuresfull
,visit-mut
etparsing
proc-macro-error
pour émettre de meilleurs messages d'erreurtrybuild
pour pouvoir tester les erreurs renvoyées par nos macros
Tout au long de cette partie, vous êtes invités à utiliser des sous-modules pour y stocker vos fonctions utilitaires. Seules les définitions de macro procédurales elles-même doivent se trouver au niveau supérieur du crate.