fast_enum_conversion 0.1.0

Zerocost conversion between enums
Documentation
fast_enum_conversion-0.1.0 has been yanked.

Fast enum conversion

This crate provides zerocost conversion between enums. An enum Src can be converted to another enum Dest when the following satisfies:

  • For each variants of Src, counterparts exist in Dest.

Here, an variant ans its "counterpart" satisfies all of them:

  • Both has the same tag names
  • Fields of both variants are equal. For example, one has structural fields, another should have the same.
  • All corresponding type of Fields are the same.

It performs zerocost conversion when following satisfies for all counterparts:

  • The [std::mem::Discriminant] of them are equal.
  • The fields has same offsets.
  • Have consistent memory layouts.