cell_derive

Crates.iocell_derive
lib.rscell_derive
version0.1.0
sourcesrc
created_at2023-05-22 08:04:28.508979
updated_at2023-05-22 08:04:28.508979
descriptionA derive macro for quickly implementing `get_or_init` and `get_mut` functions for structs that contain `OnceCell` or `OnceLock` structs.
homepagehttps://github.com/pintariching/cell_derive
repositoryhttps://github.com/pintariching/cell_derive
max_upload_size
id870437
size5,665
pintariching (pintariching)

documentation

README

cell_derive

A derive macro for quickly implementing get_or_init and get_mut functions for structs that contain OnceCell or OnceLock structs.

Usage

To use the macro on a struct, you need to define an initialization function somewhere and specify it with the init attribute.

For example:

#[derive(GetDerive)]
struct ToBeDerived {
    #[init(init_val)]
    val: OnceCell<String>,
}

fn init_val() -> String {
    "Some value".to_string()
}

You can get the value of the field by calling the val() function that is generated.

Planned features:

  • Generate functions for get_mut.
  • Add support for OnceLock.
  • Add support for renaming the generated functions.
Commit count: 2

cargo fmt