puball

Crates.iopuball
lib.rspuball
version0.1.1
created_at2022-08-08 13:30:32.307456+00
updated_at2022-08-08 15:12:09.510918+00
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