use bg::{build, builder};
builder! {
struct MyProps {
optional_field: String = Default::default(),
required_field: i32,
}
}
#[test]
pub fn struct_style() {
let _ = build!(MyProps {});
let _ = build!(MyProps {
optional_field: "".into()
});
let _ = build!(MyProps {
optional_field: "".into(),
});
let _ = build!(MyProps {
optional_field: "".into(),
..build!(MyProps {})
});
let _ = build!(MyProps {
..build!(MyProps {})
});
let _ = build!(MyProps {
optional_field: "".into(),
});
let _ = build!(MyProps {
optional_field: "".into(),
required_field: 1
});
let _ = build!(MyProps {
optional_field: "".into(),
required_field: 1,
});
let _ = build!(MyProps {
optional_field: "".into(),
..build!(MyProps {})
});
}
pub fn fn_style() {
let _ = build!(MyProps());
let _ = build!(MyProps().optional_field("".into()));
let _ = build!(MyProps(build!(MyProps())).optional_field("".into()));
let _ = build!(MyProps(build!(MyProps())));
let _ = build!(MyProps().optional_field("".into()));
let _ = build!(MyProps().optional_field("".into()).required_field(1));
let _ = build!(MyProps(build!(MyProps())).optional_field("".into()));
}