pub struct OptionalBuilt {
pub required: i32,
pub constructed_from_optional: i32,
}
Expand description
An example showing how to add optional fields to a builder.
It is defined as follows:
#[make_builder(pub OptionalBuilder(optional: f32))]
/// ^ An example of how to use this builder is as follows:
/// ^ ```
/// ^ let instance = OptionalBuilder::new().required(12).build();
/// ^ assert_eq!(instance.constructed_from_optional, 0);
/// ^ let instance = OptionalBuilder::new().required(12).optional(5.0).build();
/// ^ assert_eq!(instance.constructed_from_optional, 5);
/// ^ let instance = OptionalBuilder::new().optional(12.0).required(5).build();
/// ^ assert_eq!(instance.constructed_from_optional, 12);
/// ^ ```
pub struct OptionalBuilt {
pub required: i32,
#[value(optional as i32)]
pub constructed_from_optional: i32,
}
Note that you must use the literal text Option
and not use a type alias. The macro will
automatically change this to use ::std::option::Option
.
Fields§
§required: i32
§constructed_from_optional: i32
Auto Trait Implementations§
impl Freeze for OptionalBuilt
impl RefUnwindSafe for OptionalBuilt
impl Send for OptionalBuilt
impl Sync for OptionalBuilt
impl Unpin for OptionalBuilt
impl UnwindSafe for OptionalBuilt
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more