7个不稳定版本
0.4.3 | 2023年9月25日 |
---|---|
0.4.2 | 2023年6月8日 |
0.4.1 | 2021年8月5日 |
0.4.0 | 2020年8月23日 |
0.1.0 | 2020年8月7日 |
#340 在 进程宏
每月40次下载
10KB
109 代码行
枚举常量值
一个派生宏,将为枚举情况添加常量值,甚至为关联类型的枚举添加。处理具有关联类型的枚举时,宏会创建一个具有常量值的新枚举。
用法
[dependencies]
enum_const_value = "0.1.0"
现在在你的项目中,添加以下
use enum_const_value::EnumConstValue;
并在枚举上使用派生宏
#[derive(EnumConstValue)]
enum MyEnum {
SomeI32(i32),
SomeString(String)
}
现在,您可以使用枚举情况上的 const_value()
方法,如下所示
#[test]
fn test_my_enum() {
assert_eq!(0, MyEnum::SomeI32(1).const_value());
assert_eq!(1, MyEnum::SomeString("MyString".to_string()).const_value());
assert_eq!(0, MyEnumConstValue::SomeI32.value());
assert_eq!(1, MyEnumConstValue::SomeString.value());
}
待办事项
- 自定义枚举情况值(可以通过添加属性来完成)
- 自定义派生枚举名称(目前始终为 $ENUMNAME$ConstValue)
许可证
根据您的选择,许可协议为Apache许可证,版本2.0或MIT许可证。除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交给包含在此crate中的任何贡献,都将如上所述双重许可,不附加任何额外的条款或条件。
依赖关系
~300–750KB
~18K SLoC