#枚举 #变体 # #derive #定义 #编译 #const-enum-tools

nightly macro const-enum-tools-derive

使用宏在编译时处理枚举类型的特征定义

7个不稳定版本 (3个重大变更)

0.4.3 2022年5月3日
0.4.2 2022年5月3日
0.3.2 2022年5月2日
0.2.2 2022年5月2日
0.1.0 2022年5月1日

#250 in #编译

MIT许可证

11KB
153

const-enum-tools-derive

为const-enum-tools提供衍生宏。

#[derive(VariantCount)]在枚举上添加一个包含枚举变体数量的常量。

#[derive(VariantList)]在枚举上实现一个方法,该方法获取枚举变体的索引和关联常量,该常量包含所有变体的名称。这允许您遍历变体,以及获取作为字符串的变体名称。

在枚举变体的区分符与其索引相对应的情况下,.variant_index()将包含一个unsafe块,该块实际上会复制值的底层字节以实现克隆。目前这似乎是安全的,但如果发现任何不安全性泄漏,将会移除。可以通过在枚举变体或枚举本身上放置#[disallow_instance_bitcopy]来禁用此优化。

依赖关系

~1.5MB
~34K SLoC