#[derive(ConvRaw)]Expand description
A derive macro to implement any applicable conversion traits between an enum and the builtin integer and boolean types corresponding to variant discriminants.
ยงUsage example
/// An enum showcasing the `ConvRaw` derive for converting from/into integers.
#[derive(ConvRaw)]
pub enum ConvRawIntExample {
A,
B = 2,
C,
D = -1,
E = 1,
F = -128,
G = 128,
}This will implement:
TryFrom<T> for ConvRawIntExamplefor all integer typesTUnsafeFrom<T> for ConvRawIntExamplefor all integer typesTFrom<ConvRawIntExample> for Tfor all integer typesTthat contain all discriminants; in this case, all signed integer types with>= 16bits (i16,i32,i64,i128)From<bool> for ConvRawBoolExampleFrom<ConvRawBoolExample> for bool
/// An enum showcasing the `ConvRaw` derive for converting from/into booleans.
#[derive(ConvRaw)]
pub enum ConvRawBoolExample {
False, // Implicitly, this value is treated as 0 (false).
True,
}This will implement:
TryFrom<T> for ConvRawBoolfor all integer typesTUnsafeFrom<T> for ConvRawBoolfor all integer typesTFrom<ConvRawBool> for Tfor all integer typesTthat contain all discriminants; in this case, all integer typesFrom<bool> for ConvRawBoolExampleFrom<ConvRawBoolExample> for bool