1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! Macro implementation crate generating builders for [macon](https://crates.io/crates/macon/0.3.0).
//!
//! See it for all details.
//!
use ;
/// Derive macro to generate builder for your structs. See crate documentation for usage.
///
/// ```compile_fail
/// # #[macro_use] extern crate macon;
/// #[derive(Builder)]
/// #[derive(Debug,PartialEq,)]
/// struct MyType {
/// integer: i32,
/// string: String,
/// optional: Option<String>,
/// }
///
/// let built = MyType::builder()
/// .integer(42)
/// .string("foobar")
/// .build();
///
/// assert_eq!(
/// MyType {
/// integer: 42,
/// string: String::from("foobar"),
/// optional: None,
/// },
/// built,
/// );
/// ```