4个版本
0.1.14 | 2023年4月10日 |
---|---|
0.1.13 | 2023年3月27日 |
504 在 #macro-derive 中排名
每月下载量 3,164
用于 auto_uds
6KB
70 行
enum2repr
enum2repr 是一个 Rust derive 宏,它创建用于在值和枚举之间进行转换的方法。EnumRepr 支持由 #[repr(T)]
支持的数值类型。
用法
将以下内容添加到您的 Cargo.toml
enum2repr = "0.1.14"
示例
use enum2repr::EnumRepr;
#[derive(EnumRepr, Debug, PartialEq, Copy, Clone)]
#[repr(u16)]
enum Color {
Red = 0x04,
Green = 0x15,
Blue = 0x34,
}
#[test]
fn convert_variants() {
assert_eq!(Ok(Color::Red), Color::try_from(0x04));
assert_eq!(Ok(Color::Green), Color::try_from(0x15));
assert_eq!(Ok(Color::Blue), Color::try_from(0x34));
}
#[test]
fn convert_variants_back() {
assert_eq!(u16::from(Color::Red), 0x04);
assert_eq!(u16::from(Color::Green), 0x15);
assert_eq!(u16::from(Color::Blue), 0x34);
}
依赖项
~1.5MB
~35K SLoC