8个版本
0.3.4 | 2023年9月12日 |
---|---|
0.3.3 | 2023年9月12日 |
0.3.2 | 2021年11月18日 |
0.3.1 | 2021年1月25日 |
0.1.1 | 2019年3月11日 |
#698 在 过程宏 中
167,117 每月下载次数
用于 32 个crates(通过 rav1e)
13KB
169 行
模仿来自 clap 的 arg_enum!
的过程宏推导
用法
在 Cargo.toml
中
[dependencies]
arg_enum_proc_macro = "0.3"
在rust代码中
use arg_enum_proc_macro::ArgEnum;
/// All the possible states of Foo
#[derive(ArgEnum)]
pub enum Foo {
/// Initial state
Unk,
/// Foo is on
On,
/// Foo is off
Off,
}
别名
可以使用属性 arg_enum(alias = "AliasVariant")
来表示别名。 FromStr
将 "AliasVariant" 字符串映射到装饰后的枚举变体
/// All the possible states of Foo
#[derive(ArgEnum)]
pub enum Foo {
/// Initial state
Unk,
/// Foo is on
#[arg_enum(alias = "Up")]
On,
/// Foo is off
#[arg_enum(alias = "Down")]
Off,
}
依赖关系
~280–730KB
~18K SLoC