Avatar ·

Comment itérer sur tous les variants d'une énumération (enum) en Rust dans une boucle ?

Bonjour ! Je viens de commencer à apprendre Rust et j'ai rencontré un problème. J'ai une énumération qui décrit les couleurs : ```rust enum Color { Red, Green, Blue, Yellow, } ``` Je dois afficher toutes les couleurs possibles dans la console, mais je ne comprends pas comment faire. Dans d'autres langages (par exemple, en Python ou Java), j'utiliserais simplement une boucle for ou j'obtiendrais une liste de toutes les valeurs, mais en Rust je ne trouve pas de moyen intégré. J'ai essayé d'écrire quelque chose comme : ```rust for color in Color { println!("{:?}", color); } ``` Mais le compilateur renvoie une erreur : `Color` n'implémente pas le trait `Iterator`. J'ai entendu dire que Rust est un langage sans réflexion à l'exécution, et peut-être que les énumérations ne sont pas conçues pour l'itération. Mais il me semble étrange qu'un langage statiquement typé n'ait pas de moyen de parcourir tous les variants. Peut-être que j'ai raté quelque chose ? Existe-t-il une macro ou une bibliothèque qui permet cela ? Indiquez-moi, s'il vous plaît, comment résoudre correctement ce problème. J'ai besoin d'itérer sur tous les variants.