small_read_only

Crates.iosmall_read_only
lib.rssmall_read_only
version0.1.0
sourcesrc
created_at2024-08-29 17:33:32.835983
updated_at2024-08-29 17:33:32.835983
descriptionA macro to implement getters on a struct
homepage
repositoryhttps://github.com/Ike-l/small_read_only
max_upload_size
id1356485
size4,632
(Ike-l)

documentation

README

small_read_only

This crate adds #[derive(ReadOnly)].
It implements getters for all fields without the #[NoRead] attribute.

It works for:

  • Structs

Example

use small_read_only::ReadOnly;

#[derive(ReadOnly)]
pub struct A<'a> {
    b: usize,
    c: String,
    d: &'a str,
}

impl<'a> A<'a> {
    pub fn new(b: usize, c: String, d: &'a str) -> Self {
        Self {
            b, c, d
        }
    }
}

let a = A::new(1, "c".to_string(), "d");

assert_eq!(a.b(), &1);
assert_eq!(a.c(), "c");
assert_eq!(a.d(), &"d");

License

MIT or Apache-2.0

Commit count: 0

cargo fmt