bauer

Crates.iobauer
lib.rsbauer
version0.1.0
created_at2025-11-25 03:48:59.285559+00
updated_at2025-11-25 03:48:59.285559+00
descriptionA derive macro for automatically generating the builder pattern
homepage
repositoryhttps://github.com/funnyboy-roks/bauer
max_upload_size
id1949151
size42,367
Funny (funnyboy-roks)

documentation

README

bauer

Crates.io Documentation Dependency status

A derive macro for automatically generating the builder pattern

use bauer::Builder;

#[derive(Builder)]
pub struct Foo {
    #[builder(default = "42")]
    field_a: u32,
    field_b: bool,
    #[builder(into)]
    field_c: String,
    #[builder(repeat, repeat_n = 1..4)]
    field_d: Vec<f32>,
}

let foo: Foo = Foo::builder()
    .field_b(true)
    .field_c("hello world")
    .field_d(3.14)
    .field_d(6.28)
    .field_d(2.72)
    .build()
    .unwrap();

assert_eq!(
    foo,
    Foo {
        field_a: 42,
        field_b: true,
        field_c: String::from("hello world"),
        field_d: vec![3.14, 6.28, 2.72],
    },
);
Commit count: 0

cargo fmt