1 个不稳定版本
0.1.0 | 2021年12月28日 |
---|
#31 in #repr
10KB
91 行
const-enum
此crate提供了一个过程宏ConstEnum
,它将为基于它们的repr
类型的枚举提供const
实现的From
特质。
不幸的是,Rust稳定版目前还没有实现此crate所需的所有功能。要使用此库,您必须使用最近的Rust Nightly版本,并在crate根目录中添加以下功能标志:
#![feature(const_trait_impl)] // always required
以下是此库的简单示例:
#![feature(const_trait_impl)]
use const_enum::ConstEnum;
#[derive(Copy, Clone, Debug, Eq, PartialEq, ConstEnum)]
#[repr(u8)]
enum Test {
A = 0b010,
B = 0b100,
C = 0b001
}
pub fn main() {
println!("{:?}", Test::from(0b010 as u8));
println!("{:?}", u8::from(Test::A));
}
许可证
根据您选择的以下任一许可证许可:
- Apache许可证第2版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
供您选择。
贡献
除非您明确声明,否则您提交给包含在作品中的任何贡献,根据Apache-2.0许可证定义,应如上所述双重许可,而不附加任何额外条款或条件。
依赖项
~1.5MB
~35K SLoC