1 个不稳定版本
0.1.0 | 2024年7月1日 |
---|
#980 在 Rust 模式
134 每月下载次数
在 ostd 中使用
5KB
TryFromInt - 将整数转换为枚举的便捷推导宏
快速入门
要使用此包,首先将其添加到您的 Cargo.toml
文件中。
[dependencies]
int-to-c-enum = "0.1.0"
您可以使用此宏为 类似 C 的枚举。
use int_to_c_enum::TryFromInt;
#[repr(u8)]
#[derive(TryFromInt, Debug)]
pub enum Color {
Red = 1,
Blue = 2,
Green = 3,
}
然后,您可以使用此枚举的 try_from
函数。
fn main() {
let color = Color::try_from(1).unwrap();
println!("color = {color:?}"); // color = Red;
}
简介
此包提供了一个名为 TryFromInt
的推导过程宏。此宏将为满足以下要求的枚举自动实现 TryFrom 特性
- 枚举必须具有原始 repr,即枚举应具有如 #[repr(u8)]、#[repr(u32)] 等属性。TryFrom 的类型参数将是 repr,例如,在
QuickStart
示例中,该宏将为Color
实现TryFrom<u8>
。 - 枚举必须仅由单元变体组成,这称为 仅单元枚举。每个字段应有一个 显式区分符。
依赖项
~105KB