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

Object Safety§

This trait is not object safe.

Implementors§