#[macro_use]
extern crate derive_builder;
#[derive(Debug, PartialEq, Default, Builder, Clone)]
pub struct Lorem {
// `default` is incompatible with `field.build`
#[builder(
default = "1",
field(build = "self.ipsum.map(|v| v + 42).unwrap_or(100)")
)]
ipsum: usize,
// `default` is incompatible with `field.ty`, even without `field.build`
#[builder(default = "2", field(ty = "usize"))]
sit: usize,
// Both errors can occur on the same field
#[builder(default = "3", field(ty = "usize", build = "self.ipsum + 42"))]
amet: usize,
}
fn main() {}