builder-pattern 0.1.3

A derivable macro for declaring a builder pattern.
Documentation
# builder-pattern

A derivable macro for declaring a builder pattern.

## Installation

```toml
[dependencies]
builder-pattern = "0.1"
```

## Examples

```rust
use builder_pattern::*;

#[derive(Builder)]
struct Person {
    name: String,
    age: i32,
    #[default(Gender::Nonbinary)]
    gender: Gender,
}

let p1 = Person::new().name(String::from("Joe")).age(27).build();
// Orders does not matter.
let p2 = Person::new().age(32).name(String::from("Jack")).gender(Gender::Male).build();
// `name` field required - Compilation error.
let p3 = Person::new().age(15).build();
```

It considers all fields without `default` attribute as required.
If the attribute is provided, the expression in the parantheses is evaluated as a default value.

When the insuficient number of arguments is provided, the compilation will fail.