puball

Crates.iopuball
lib.rspuball
version0.1.1
sourcesrc
created_at2022-08-08 13:30:32.307456
updated_at2022-08-08 15:12:09.510918
descriptionPublic all the field in your struct
homepage
repositoryhttps://github.com/Avimitin/puball
max_upload_size
id640844
size16,385
Jiongjia Lu (Avimitin)

documentation

https://docs.rs/puball

README

puball

github docs.rs crates.io

A simple API that help you generate struct with all fields public.

Motivation

A friend of mine wrote a huge struct with 71 pub keywords. It's too hard to write so much pub keywords. Especially when you realize that your forgot to add those visbilty after you finish the sturct design.

Usage

# Cargo.toml

[dependencies]
puball = "0.1"
mod my_space {
    use puball::pub_all;

    pub_all!{
        pub struct NoPrivacy {
            a: i32,
            b: String,
            c: bool,
        }
    }
}

fn main() {
    use my_space::NoPrivacy;

    let np = NoPrivacy {
        a: 1,
        b: String::new(),
        c: true,
    };

    assert_eq!(1, np.a);
    assert!(np.c);
}
Commit count: 6

cargo fmt