Avatar ·

Comment vérifier si un projet est compilé en mode release ou debug en utilisant cfg en Rust ?

Bonjour à tous ! Je viens de commencer à apprendre Rust et j'écris un petit projet avec Cargo. J'ai un problème : j'ai besoin qu'en compilation debug, le programme affiche beaucoup d'informations de débogage dans la console (par exemple, des logs avec le niveau TRACE), et qu'en compilation release, ces messages ne soient pas du tout affichés, pour ne pas ralentir le fonctionnement. Je sais qu'en C/C++, on utilise des directives de préprocesseur comme `#ifdef DEBUG`. En Rust, j'ai entendu parler de la macro `cfg!()`, mais je ne comprends pas comment l'appliquer correctement pour cette tâche. Voici un exemple de mon code actuel : ```rust fn main() { let x = 42; println!("x = {}", x); // Ici, je veux ajouter une sortie de débogage qui ne sera présente qu'en compilation debug // println!("[DEBUG] x is: {}", x); // Cela ne devrait fonctionner qu'en debug } ``` J'ai essayé d'écrire ceci : `#[cfg(debug_assertions)]`, mais cela ne semble pas fonctionner exactement comme je l'attends. Peut-être faut-il utiliser `#[cfg(not(release))]` ? Ou existe-t-il un flag spécial ?