derive_builder 0.4.2

Rust macro to automatically implement the builder pattern for arbitrary structs.
Documentation
#[macro_use]
extern crate pretty_assertions;
#[macro_use]
extern crate derive_builder;

#[derive(Debug, PartialEq, Default, Builder, Clone)]
struct Lorem {
    #[builder(setter(into))]
    foo: String,
}

#[derive(Debug, PartialEq, Default, Builder, Clone)]
#[builder(setter(into))]
struct Ipsum {
    foo: u32,
}

#[test]
fn generic_field() {
    let x = LoremBuilder::default()
        .foo("foo")
        .build()
        .unwrap();

    assert_eq!(x,
               Lorem {
                   foo: "foo".to_string(),
               });
}

#[test]
fn generic_struct() {
    let x = IpsumBuilder::default()
        .foo(42u8)
        .build()
        .unwrap();

    assert_eq!(x,
               Ipsum {
                   foo: 42u32,
               });
}