Skip to main content

EnumVariantName

Derive Macro EnumVariantName 

Source
#[derive(EnumVariantName)]
Expand description

Implements [enum_traits::EnumVariantName].

The names are generated from the variant names.

§Requirements

  • The derived item is an enum.

§Example using derive

use enum_traits_macros::*;

#[derive(EnumVariantName)]
enum Enum{
	A,
	B(u8),
	C{c: u16},
	D,
	E(u32),
	F{f: u64},
}

§Expanded example

use enum_traits::*;

enum Enum{
	A,
	B(u8),
	C{c: u16},
	D,
	E(u32),
	F{f: u64},
}

impl VariantName for Enum{
	fn variant_name(&self) -> &'static str{
		match self{
			&Enum::A     => "A",
			&Enum::B(..) => "B",
			&Enum::C{..} => "C",
			&Enum::D     => "D",
			&Enum::E(..) => "E",
			&Enum::F{..} => "F",
		}
	}
}