blob: 4ee0222d939d6842fbeab6e5e7012ad0cdfb4a0b [file] [log] [blame]
#[macro_use]
extern crate derive_builder;
mod container {
/// `LoremBuilder` should be accessible outside the module, but its
/// build method should not be.
#[derive(Debug, Default, Builder)]
#[builder(default, public, build_fn(private))]
pub struct Lorem {
foo: usize,
bar: String,
}
impl LoremBuilder {
/// Create a `Lorem`
pub fn my_build(&self) -> Lorem {
self.build().expect("All good")
}
}
}
fn main() {
use container::{Lorem, LoremBuilder};
let lorem1 = LoremBuilder::default().my_build();
let lorem2 = LoremBuilder::default().build().unwrap();
println!("{:?} vs {:?}", lorem1, lorem2);
}