5 个版本
0.2.1 | 2021 年 7 月 23 日 |
---|---|
0.2.0 | 2021 年 7 月 23 日 |
0.1.2 | 2021 年 6 月 29 日 |
0.1.1 | 2021 年 6 月 29 日 |
0.1.0 | 2021 年 6 月 29 日 |
#2768 在 Rust 模式
4KB
Finte
Finte 是一个过程宏 crate,用于自动生成整数和 Rust 枚举之间的转换代码
示例
#[derive(finte::IntEnum)]
#[repr(u16)]
pub enum RustEdition {
Prev = 2015,
Now = 2018,
Next = 2021,
}
// the above generates
impl finte::IntEnum for RustEdition {
type Int = u16;
fn try_from_int(value: Self::Int) -> Option<Self> {
match value {
2015 => Some(Self::Prev),
2018 => Some(Self::Now),
2021 => Some(Self::Next),
_ => None,
}
}
fn int_value(&self) -> Self::Int {
match self {
Self::Prev => 2015,
Self::Now => 2018,
Self::Next => 2021,
}
}
}