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
EnumCharderive macro allows the usage of thecharattribute to define an equivalent character for each enum variant. The macro then automatically createsTryFrom<char>,TryInto<char>,std::fmt::Displayand other defaultimpl.