10个版本
0.1.9 | 2022年12月12日 |
---|---|
0.1.8 | 2022年12月12日 |
#107 in #枚举
264 个月下载量
6KB
64 行
Bytenum
Bytenum是一个Rust derive宏,为只有单元变体的枚举创建try_from<T>
实现。Bytenum支持所有#[repr(T)]
支持的类型。
使用方法
将以下内容添加到您的Cargo.toml
bytenum = "0.1.9"
示例
use bytenum::Bytenum;
#[derive(Bytenum, Debug, PartialEq, Copy, Clone)]
#[repr(u16)]
enum Color {
Red = 0x04,
Green = 0x15,
Blue = 0x34,
}
fn main() -> Result<(), Box<dyn std::error::Error + 'static>> {
assert_eq!(Color::Red, Color::try_from(0x04)?);
assert_eq!(Color::Green, Color::try_from(0x15)?);
assert_eq!(Color::Blue, Color::try_from(0x34)?);
Ok(())
}
依赖关系
~1.5MB
~35K SLoC