use::core::fmt::Debug;/// A trait that can be implemented by a main enum type.
/// Typically should be derived with `#[derive(kinded::Kinded)]`.
pubtraitKinded{typeKind:PartialEq+Eq+ Debug +Clone+Copy+ Kind;/// Get a kind variant without data.
fnkind(&self)->Self::Kind;}pubtraitKind: PartialEq + Eq + Debug + Clone + Copy {/// Return a slice with all possible kind variants.
fnall()->&'static[Self];}