pub trait AllVariants where Self: Sized, { type Iter: Iterator<Item = Self>; fn iter() -> Self::Iter; }
Enumerates all the possible variants of a simple enum.