pub trait PrimitiveFromEnum {
type PrimitiveEnum: TryFrom<u8> + UnsafeFromU8;
// Required methods
fn get_primitive_enum(&self) -> Self::PrimitiveEnum;
fn primitive_name() -> &'static str;
}
Expand description
Need for complex Enums, which includes other data:
use primitive_enum::{PrimitiveFromEnum, FromU8};
#[derive(PrimitiveFromEnum)]
#[primitive(Primitive)]
enum Complex {
A(String),
B(u32),
C
}
#[derive(FromU8, Clone, Copy)]
#[repr(u8)]
enum Primitive {
A,
B,
C,
}
PrimitiveEnum should be equivalent for Complex, but without variants inner data
Required Associated Types§
type PrimitiveEnum: TryFrom<u8> + UnsafeFromU8
Required Methods§
fn get_primitive_enum(&self) -> Self::PrimitiveEnum
Sourcefn primitive_name() -> &'static str
fn primitive_name() -> &'static str
get primitive enum name in string format
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.