Integral enum
Rust derive-macro that simplifies integral enum creation
Example
use IntegralEnum;
/// Simple meaningful enum
/// (!) repr attribute is required
/// and can contain only integral values
/// like u8, u16, u32, u64, u128 and its signed equivalent
// Test it
assert_eq!;
assert_eq!;
assert_eq!;
Macro will automatically generate the following trait implementations: TryFrom, Clone, Copy, PartialEq, Eq, Display, Debug
if you want to remove certain trait implementation, then pass one of the following attributes to the macro:
#[no_debug], #[no_display], #[no_copy], #[no_total_eq], #[no_clone]
- Some of these attributes are dependant, for example
Copydepends onClone, so if you disableClonegeneration,Copygeneration will be disabled also. no_total_eqdisablesEqtrait implementation
Example:
use IntegralEnum;
println!; // Compile error
TODO
- Do we really need to implement
PartialOrd + Ordalso?