1个不稳定版本

0.1.0 2022年11月19日

#23#utility-macro


pino_utils 中使用

MIT/Apache

5KB
72

pino_enum_string

Deref和DerefMut的派生宏

crates.io docs.rs MIT/Apache 2.0

示例用法

use pino_enum_string::enum_string;

#[enum_string]
enum Weapon {
    Red,
    Blue,
    Green,
}

fn main() {
    assert_eq!("Red", Weapon::Red.to_string());
    assert_eq!("Blue", Weapon::Blue.to_string());
    assert_eq!("Green", Weapon::Green.to_string());
}

lib.rs:

派生宏,为枚举的每个变体实现display

use pino_enum_string::enum_string;

#[enum_string]
enum Weapon {
    Red,
    Blue,
    Green,
}

fn main() {
    assert_eq!("Red", Weapon::Red.to_string());
    assert_eq!("Blue", Weapon::Blue.to_string());
    assert_eq!("Green", Weapon::Green.to_string());
}

依赖项

~1.5MB
~36K SLoC