Trait HasVariants

Source
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§

Source

fn has_variants(&self) -> bool

Source

fn variants_len(&self) -> usize

Source

fn variants(&self) -> impl Iterator<Item = &Self::Variant>

Source

fn variants_mut(&mut self) -> impl Iterator<Item = &mut Self::Variant>

Source

fn add_to_variants(&mut self, value: Self::Variant)

Source

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.

Implementors§