pub trait Enum: Sized {
const LENGTH: usize;
// Required methods
fn from_usize(value: usize) -> Self;
fn into_usize(self) -> usize;
}Expand description
Enum mapping type.
This trait is implemented by #[derive(Enum)].
This trait is also implemented by bool and u8. While u8 is
strictly speaking not an actual enum, there are good reasons to consider
it like one, as array of u8 keys is a relatively common pattern.
Required Associated Constants§
Required Methods§
Sourcefn from_usize(value: usize) -> Self
fn from_usize(value: usize) -> Self
Takes an usize, and returns an element matching into_usize function.
Sourcefn into_usize(self) -> usize
fn into_usize(self) -> usize
Returns an unique identifier for a value within range of 0..Array::LENGTH.
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.