pub trait HasVariants {
type Variant;
// Required methods
fn has_variants(&self) -> bool;
fn variants_len(&self) -> usize;
fn variants(&self) -> impl Iterator<Item = &Self::Variant>;
fn variants_mut(&mut self) -> impl Iterator<Item = &mut Self::Variant>;
fn add_to_variants(&mut self, value: Self::Variant);
fn extend_variants<I>(&mut self, extension: I)
where I: IntoIterator<Item = Self::Variant>;
}
Required Associated Types§
Required Methods§
fn has_variants(&self) -> bool
fn variants_len(&self) -> usize
fn variants(&self) -> impl Iterator<Item = &Self::Variant>
fn variants_mut(&mut self) -> impl Iterator<Item = &mut Self::Variant>
fn add_to_variants(&mut self, value: Self::Variant)
fn extend_variants<I>(&mut self, extension: I)where
I: IntoIterator<Item = Self::Variant>,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.