macro_rules! enum_string {
    (
        $(#[$attr:meta])*
        $vis:vis enum $name:ident {
            $($variant:ident => $value:expr),* $(,)?
        }
    ) => { ... };
}
Expand description

Generate an enum impl with string conversion methods.

§Examples

enum_string! {
    #[derive(Copy, Clone, Debug, PartialEq, Eq)]
    pub enum Foo {
        Bar => "Bar",
        Baz => "BAZ",
    }
}

assert_eq!(&Foo::Bar.to_string(), "Bar");
assert_eq!(&Foo::Baz.to_string(), "BAZ");

This will generate a pub enum Foo with variants Bar and Baz, which implements std::str::FromStr and std::fmt::Display for the string values specified.