Expand description
§enum-repr-derive
Procedural derive macro for converting fieldless enums to (Into) and from (TryFrom) its repr type.
See the Nomicon section on repr for more details on fieldless enums.
§Example code
By using this library the following code just works:
extern crate enum_repr_derive;
use enum_repr_derive::{FromEnumToRepr, TryFromReprToEnum};
use std::convert::TryFrom;
#[repr(i8)]
#[derive(TryFromReprToEnum, FromEnumToRepr, Copy, Clone, Debug, PartialEq)]
enum Foo {
VAR1 = -1,
VAR2 = -3,
}
assert_eq!(Foo::try_from(-1), Ok(Foo::VAR1));
assert_eq!(Foo::try_from(-3), Ok(Foo::VAR2));
assert_eq!(Foo::try_from(-9), Err(-9));
assert_eq!(Into::<i8>::into(Foo::VAR1), -1);
assert_eq!(Into::<i8>::into(Foo::VAR2), -3);
assert_eq!(i8::from(Foo::VAR1), -1);
assert_eq!(i8::from(Foo::VAR2), -3);§License
Licensed under MIT. See LICENSE file.
§For developers
Release: cargo release