10个版本 (4个稳定版)
1.1.2 | 2024年5月15日 |
---|---|
1.1.1 | 2024年3月18日 |
1.0.1 | 2024年2月17日 |
0.5.0 | 2022年10月6日 |
0.1.1 | 2019年11月25日 |
#91 in 过程宏
每月下载量:8,535
用于 49 个crate(20个直接使用)
12KB
192 行
derive(IntEnum)
本crate提供了一个方便的派生宏,用于核心库的 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, Version 2.0或MIT License,由您选择。
贡献
除非您明确说明,否则任何有意提交以包含在本作品中的贡献,根据Apache-2.0许可证的定义,将根据上述条款双许可,不附加任何额外条款或条件。
依赖
~290–740KB
~17K SLoC