Avatar ·

Comment inclure conditionnellement des attributs comme `#[derive]` en Rust ?

Bonjour à tous ! J'apprends Rust et je suis tombé sur une situation où j'ai besoin qu'une structure implémente automatiquement le trait `Debug` uniquement en mode débogage (debug build), et pas en version release. Je connais `#[cfg(debug_assertions)]`, qui permet de compiler conditionnellement des blocs de code. Mais comment appliquer cela aux attributs, en particulier à `#[derive]` ? Voici un exemple qui ne fonctionne pas : ```rust #[cfg(debug_assertions)] #[derive(Debug)] struct MyStruct { value: i32, } ``` Le compilateur se plaint que l'attribut `derive` ne peut pas être conditionnel. J'ai essayé différentes variantes : mettre `cfg` après `derive`, utiliser des attributs imbriqués — rien n'y fait. J'ai trouvé des discussions similaires sur des forums anglophones, mais elles sont anciennes (2016–2018). Peut-être que quelque chose a changé depuis ? Ou existe-t-il une solution de contournement ?