1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
use buildstructor::buildstructor;
pub struct Optional {
simple: Option<usize>,
}
#[buildstructor]
impl Optional {
#[builder]
fn new(simple: Option<usize>) -> Optional {
Self { simple }
}
}
#[tokio::main]
async fn main() {
let optional = Optional::builder().simple(2).build();
assert_eq!(optional.simple, Some(2));
let optional = Optional::builder().and_simple(Some(2)).build();
assert_eq!(optional.simple, Some(2));
let optional = Optional::builder().build();
assert_eq!(optional.simple, None);
}
|