5个版本 (破坏性更新)
0.5.0 | 2022年10月6日 |
---|---|
0.4.0 | 2020年2月23日 |
0.3.0 | 2019年12月20日 |
0.2.0 | 2019年12月18日 |
0.1.0 | 2019年10月21日 |
#33 在 #repr
5,759 每月下载量
17KB
391 行
derive(IntEnum)
此库提供了一种方便的 derive 宏,用于核心库的 From
和 TryFrom
特性,用于在整数和枚举类型之间进行转换。
[dependencies]
int-enum = "1.1"
编译器支持:需要 rustc 1.70+
示例
use int_enum::IntEnum;
#[repr(u8)]
#[derive(Debug, PartialEq, IntEnum)]
pub enum Ascii {
UpperA = b'A',
UpperB = b'B',
}
assert_eq!(u8::from(Ascii::UpperA), b'A');
assert_eq!(u8::from(Ascii::UpperB), b'B');
assert_eq!(Ascii::try_from(b'A'), Ok(Ascii::UpperA));
assert_eq!(Ascii::try_from(b'B'), Ok(Ascii::UpperB));
assert_eq!(Ascii::try_from(b'C'), Err(b'C'));
许可证
本项目采用 Apache License 2.0 或 MIT 许可证,您可选择其一。
贡献
除非您明确表示,否则根据 Apache-2.0 许可证定义的,您提交给本项目以供包含的任何贡献,都将按上述方式双授权,不附加任何额外条款或条件。
依赖项
~3.5MB
~75K SLoC