1 个不稳定版本
0.1.0 | 2022 年 3 月 9 日 |
---|
#25 在 #惰性
17KB
270 行(不含注释)
枚举类型
带属性的枚举类型
此软件包提供了一个宏,用于向枚举变体添加静态、常量或惰性初始化属性。
这是对 enum_properties
软件包的一种改进。它扩展了它,并允许在同一个枚举上定义多个属性结构,同时添加了对 static
(而不是 const
)属性以及惰性初始化属性的支持。然而,这些额外功能集带来了一种稍微冗长的语法,因此,如果您只需要单个常量初始化属性,您可能会发现 enum_properties
更简洁。不过,您也可以将此软件包与 enum_properties
结合使用,如 枚举属性组合示例 中所示,取两者之长。
有关详细信息,请参阅 props
宏。
示例
use enumeraties::props;
// A property struct
struct Prop { name: &'static str }
// An enum
enum Foo {A}
// Defining `Prop` on `Foo` via Deref
props! {
impl Deref for Foo as const Prop {
Self::A => {
name: "Foo",
}
}
}
// Accessing the property on `Foo`
assert_eq!(Foo::A.name, "Foo");
依赖项
~10KB