Comment itérer sur tous les variants d'une énumération (enum) en Rust ?
Bonjour à tous ! 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 à l'écran ou, par exemple, les stocker dans un vecteur. Dans d'autres langages, comme Java ou C#, j'utiliserais `values()` ou quelque chose de similaire. Mais en Rust, je n'ai pas trouvé de moyen intégré pour simplement itérer sur tous les variants d'un `enum`.
J'ai essayé d'écrire quelque chose comme :
```rust
for color in Color {
println!("{:?}", color);
}
```
Mais le compilateur se plaint que `Color` n'implémente pas le trait `Iterator`. Je comprends que Rust est un langage système avec sa propre philosophie, mais n'existe-t-il vraiment pas de moyen simple d'itérer sur toutes les constantes d'une énumération ? Peut-être y a-t-il une macro ou une bibliothèque ? Ou dois-je écrire manuellement une fonction qui retourne tous les variants à chaque fois ?
Indiquez-moi, s'il vous plaît, comment faire correctement. Merci d'avance !
<<>>