Expand description
enumchar is a simple rust derive proc_macro for enums
where each
variant corresponds to a char
.
Example usage:
use enumchar::EnumChar;
#[derive(EnumChar)]
pub enum Cell {
#[char('#')]
Wall,
#[char('.')]
Empty,
}
The effect of the code above is the automatic impl
of TryFrom<char>
,
TryInto<char>
and std::fmt::Display
. It also implements
Into<char>
if all variants have a corresponding char
, as we
can’t return an error from that one.
I’ve been using this macro to parse all those 2D mazes in adventofcode - feel free to use it too.
Derive Macros§
- Enum
Char - The
EnumChar
derive macro allows the usage of thechar
attribute to define an equivalent character for each enum variant. The macro then automatically createsTryFrom<char>
,TryInto<char>
,std::fmt::Display
and other defaultimpl
.