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.