at the moment, the only trait is DiscriminantValues
, defined as:
pub unsafe trait DiscriminantValues {
type Discriminant: 'static + Clone + Copy + std::fmt::Debug + Eq
+ PartialEq<Self::Discriminant> + std::hash::Hash + Send + Sync + Unpin;
const VALUES: &'static [Self::Discriminant];
}
which can be derived with #[derive(enum_traits::DiscriminantValues)]
on any enum with a #[repr(Int)]
, where Int
is a type in std::primitive
.