enum_convert
A Rust procedural macro library for deriving automatic conversions between enums variants.
Features
- EnumFrom: Derive
From<Source> for AnnotatedEnum - EnumInto: Derive
From<AnnotatedEnum> for Target - Support for multiple source/target enums
- Flexible variant name mapping (one-to-many, many-to-one)
- Field-level mapping for named struct variants
- Automatic type conversion for fields via
.into()
Usage
EnumFrom - Convert from source enums to annotated target enum
use EnumFrom;
// Usage
let source = Tuple;
let target: Target = source.into;
EnumInto - Convert from annotated source enum to target enums
use EnumInto;
// Usage
let source = Variant;
let target: Target = source.into;
Advanced Features
Multiple source/target enums
Field mapping