1个不稳定版本
0.1.0 | 2023年5月22日 |
---|
#1534 在 过程宏 中
5KB
51 行
cell_derive
一个用于快速实现包含OnceCell
或OnceLock
结构的struct的get_or_init
和get_mut
函数的过程宏。
用法
要在struct上使用此宏,你需要在某处定义一个初始化函数,并使用init
属性指定它。
例如
#[derive(GetDerive)]
struct ToBeDerived {
#[init(init_val)]
val: OnceCell<String>,
}
fn init_val() -> String {
"Some value".to_string()
}
你可以通过调用生成的val()
函数来获取字段的值。
计划中的功能
- 生成
get_mut
函数。 - 添加对
OnceLock
的支持。 - 添加对生成函数重命名的支持。
依赖关系
~290–750KB
~18K SLoC