Avatar ·

Cómo iterar sobre todas las variantes de una enumeración (enum) en un bucle en Rust

¡Hola! Acabo de empezar a aprender Rust y me encontré con un problema. Tengo una enumeración que describe colores: ```rust enum Color { Red, Green, Blue, Yellow, } ``` Necesito imprimir todos los colores posibles en la consola, pero no puedo entender cómo hacerlo. En otros lenguajes (por ejemplo, en Python o Java) simplemente usaría un bucle for u obtendría una lista de todos los valores, pero en Rust no encuentro una forma incorporada. Intenté escribir algo como: ```rust for color in Color { println!("{:?}", color); } ``` Pero el compilador da un error: `Color` no implementa el trait `Iterator`. He oído que Rust es un lenguaje sin reflexión en runtime, y quizás las enumeraciones no están diseñadas para la iteración. Pero me parece extraño que en un lenguaje estáticamente tipado no haya forma de iterar sobre todas las variantes. ¿Quizás me estoy perdiendo algo? ¿Existe alguna macro o biblioteca que permita esto? Por favor, indícame cómo resolver correctamente esta tarea. Necesito exactamente iterar