enum_to_enum exposes a derive macro to easily generate possibly effectful enum-to-enum conversions:
The destination enum must be annotated to specify one or more source enums we will generate
From implementations for.
Each variant of the destination enum may specify one or more variants of the source enums that
should correspond to the destination variant. If multiple variants of a given source enum might
correspond to the same destination variant, the destination variant must have at least 1 field
or tuple item and the corresponding
TryFrom implementations will be invoked in the order in
which they appear on the destination enum until one of them succeeds.
Effectful conversions require users to provide a struct implementing the
and a conversion will be generated from each source enum to the provided
Any struct specified as an
effect_container for the
from_enum attribute must implement
WithEffects specifies a container for a value, the result of some conversion, and an ordered
list of effects arising from that conversion.