#once-cell #structs #contain #quickly #macro #function #once-lock

cell derive

一个用于快速实现包含OnceCellOnceLock结构的struct的get_or_initget_mut函数的过程宏。

1个不稳定版本

0.1.0 2023年5月22日

#1534过程宏

MIT 许可证

5KB
51

cell_derive

一个用于快速实现包含OnceCellOnceLock结构的struct的get_or_initget_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