Section courante

A propos

Section administrative du site

Voici un tableau de référence des macros du Rust :

Macro Description
assert Cette macro permet de vérifier qu'une expression booléenne est vraie à l'exécution, et déclenche une panique si ce n'est pas le cas.
assert_eq Cette macro permet de vérifier que deux expressions sont égales (via le trait PartialEq), et génère une panique en cas d'inégalité.
assert_ne Cette macro permet de vérifier que deux expressions ne sont pas égales, et panique si elles sont identiques.
cfg Cette macro permet d'évaluer des combinaisons de drapeaux de configuration à la compilation, utile pour la compilation conditionnelle.
cfg_match (expérimental) Cette macro permet de définir des structures similaires à match en fonction des conditions de compilation (#[cfg]), pour sélectionner du code selon les plateformes ou les options activées.
column Cette macro permet d'obtenir le numéro de colonne dans le fichier source où elle est appelée, sous forme de constante u32.
compile_error Cette macro permet de provoquer une erreur de compilation explicite avec un message personnalisé, utilisée pour signaler des cas invalides à la compilation.
concat Cette macro permet de concaténer des littéraux en une seule tranche de chaîne statique (&'static str), à la compilation.
concat_bytes (expérimental) Cette macro permet de concaténer plusieurs littéraux en une seule tranche d'octets (&'static [u8]) à la compilation.
concat_idents (dépréciée, expérimental) Cette macro permet de fusionner plusieurs identifiants en un seul, ce qui est utile dans certains générateurs de code, mais elle est sujette à suppression.
const_format_args (expérimental) Cette macro permet de construire des arguments de formatage utilisables dans certains contextes const, à la différence de format_args! classique.
dbg Cette macro permet d'afficher une expression avec son nom et sa valeur vers la sortie d'erreur standard, tout en renvoyant la valeur, utile pour le débogage rapide.
debug_assert Cette macro permet de faire une vérification conditionnelle uniquement en mode debug, en s'assurant qu'une expression booléenne est vraie.
debug_assert_eq Cette macro permet de comparer deux expressions en mode debug uniquement, en vérifiant qu'elles sont égales et en paniquant sinon.
debug_assert_ne Cette macro permet de vérifier que deux expressions ne sont pas égales en mode debug, et provoque une panique si elles le sont.
env Cette macro permet de lire la valeur d'une variable d'environnement au moment de la compilation, retournant une chaîne littérale.
eprint Cette macro permet d'écrire une chaîne de caractères vers la sortie d'erreur standard (stderr), sans ajout automatique de saut de ligne.
eprintln Cette macro permet d'écrire une ligne avec saut de ligne à la sortie d'erreur standard, similaire à eprint!, mais avec retour à la ligne.
file Cette macro permet d'obtenir le nom du fichier source où elle est invoquée, sous forme de constante &'static str.
format Cette macro permet de créer une String formatée à partir d'expressions d'exécution, en utilisant une syntaxe d'interpolation.
format_args Cette macro permet de construire des arguments de formatage sans générer directement une String, servant de base à d'autres macros comme print! ou write!.
format_args_nl (expérimental) Cette macro permet de formater des arguments comme avec format_args!, mais ajoute automatiquement un saut de ligne à la fin.
include Cette macro permet d'inclure le contenu d'un fichier externe en tant qu'expression ou élément, selon le contexte dans lequel elle est utilisée.
include_bytes Cette macro permet d'inclure un fichier externe sous forme de référence à un tableau d'octets (&'static [u8]), utile pour intégrer des ressources binaires.
include_str Cette macro permet d'inclure un fichier externe encodé en UTF-8 sous forme de chaîne statique (&'static str), au moment de la compilation.
is_x86_feature_detected Cette macro permet de vérifier à l'exécution si une fonctionnalité spécifique du processeur x86/x86-64 est disponible, comme SSE ou AVX.
line Cette macro permet d'obtenir le numéro de ligne dans le fichier source où elle est invoquée, en tant que constante u32.
log_syntax (expérimental) Cette macro permet d'afficher les jetons passés en argument vers la sortie standard, utile pour le débogage de macros.
matches Cette macro permet de tester si une expression correspond à un motif donné, retournant un booléen (true ou false).
module_path Cette macro permet d'obtenir une chaîne représentant le chemin complet du module dans lequel elle est utilisée, sous forme de &'static str.
option_env Cette macro permet d'interroger une variable d'environnement à la compilation, retournant une Option<&'static str> si elle est définie.
panic Cette macro permet de provoquer une panique (arrêt brutal du processus léger courant) avec un message personnalisé.
print Cette macro permet d'afficher une chaîne formatée vers la sortie standard (stdout), sans ajout de saut de ligne.
println Cette macro permet d'afficher une ligne formatée vers la sortie standard, avec un saut de ligne automatique à la fin.
stringify Cette macro permet de convertir les arguments donnés en une chaîne littérale telle qu'écrite dans le code source.
thread_local Cette macro permet de déclarer une variable locale à un processus léger, via une clef de type std::thread::LocalKey<T>.
todo Cette macro permet d'indiquer une portion de code incomplète, en provoquant une panique à l'exécution avec le message "not yet implemented".
trace_macros (expérimental) Cette macro permet d'activer ou de désactiver le traçage des macros durant la compilation, pour aider à diagnostiquer leur expansion.
try (dépréciée) Cette macro permettait de déballer un résultat (Result) ou de propager l'erreur automatiquement, mais elle est maintenant remplacée par l'opérateur ?.
unimplemented Cette macro permet d'indiquer une fonction ou un bloc non implémenté, en provoquant une panique avec le message "not implemented".
unreachable Cette macro permet d'indiquer qu'un morceau de code ne devrait jamais être atteint, et provoque une panique si ce cas se produit à l'exécution.
vec Cette macro permet de créer un vecteur (Vec<T>) contenant les éléments spécifiés, avec un raccourci syntaxique flexible.
write Cette macro permet d'écrire des données formatées dans un tampon implémentant le trait std::fmt::Write, sans saut de ligne.
writeln Cette macro permet d'écrire des données formatées dans un tampon, en ajoutant automatiquement un saut de ligne à la fin.


Dernière mise à jour : Mardi, le 5 août 2025