Desenvuelva el tipo interno cuando se conoce la variante enum
Tengo este tipo de enumeración:
enum Animal {
Dog(i32),
Cat(u8),
}
Ahora tengo una función que toma este tipo como parámetro. yosaber (por alguna razón) que la entrada siempre es unCat
. Quiero lograr esto:
fn count_legs_of_cat(animal: Animal) -> u8 {
if let Animal::Cat(c) = animal { c } else { unreachable!() }
}
¿Puedo escribir esto más corto y / o más idiomático?