Trait PrimitiveFromEnum

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

Required Methods§

Source

fn get_primitive_enum(&self) -> Self::PrimitiveEnum

Source

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.

Implementors§