pub trait Enum: Reflect {
// Required methods
fn variant_name(&self) -> &str;
fn variant_kind(&self) -> VariantKind;
fn field(&self, name: &str) -> Option<&dyn Reflect>;
fn field_mut(&mut self, name: &str) -> Option<&mut dyn Reflect>;
fn field_at(&self, index: usize) -> Option<&dyn Reflect>;
fn name_at(&self, index: usize) -> Option<&str>;
fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn Reflect>;
fn fields(&self) -> VariantFieldIter<'_> ⓘ;
fn fields_mut(&mut self) -> VariantFieldIterMut<'_> ⓘ;
fn variants_len(&self) -> usize;
fn fields_len(&self) -> usize;
}
Expand description
A reflected enum type.
Will be implemented by #[derive(Reflect)]
on enums.