2 releases

0.1.1 Aug 8, 2022
0.1.0 Aug 8, 2022

#2068 in Procedural macros

Apache-2.0

7KB
52 lines

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);
}

Dependencies

~1.5MB
~36K SLoC