Struct OptionalBuilder

Source
pub struct OptionalBuilder<RequiredStatus__> { /* private fields */ }
Expand description

A builder which creates an instance of OptionalBuilt.

Use OptionalBuilder::new() to start the builder. Calling build() consumes the builder, returning the completed item. Before calling build(), you can modify values the builder will use by calling any of the other functions. For this builder, you must call all of the following functions at least once before calling build(), or you will receive a compilation error:

  • required(value: i32)

Here is a minimal example:

let instance = OptionalBuilder::new()
    .required(value).build();

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);

Implementations§

Source§

impl OptionalBuilder<Missing>

Source

pub fn new() -> Self

Source§

impl<RequiredStatus__> OptionalBuilder<RequiredStatus__>

Source

pub fn optional(self, value: f32) -> Self

Source

pub fn required(self, value: i32) -> OptionalBuilder<Present>

Source§

impl OptionalBuilder<Present>

Source

pub fn build(self) -> OptionalBuilt

Auto Trait Implementations§

§

impl<RequiredStatus__> Freeze for OptionalBuilder<RequiredStatus__>

§

impl<RequiredStatus__> RefUnwindSafe for OptionalBuilder<RequiredStatus__>
where RequiredStatus__: RefUnwindSafe,

§

impl<RequiredStatus__> Send for OptionalBuilder<RequiredStatus__>
where RequiredStatus__: Send,

§

impl<RequiredStatus__> Sync for OptionalBuilder<RequiredStatus__>
where RequiredStatus__: Sync,

§

impl<RequiredStatus__> Unpin for OptionalBuilder<RequiredStatus__>
where RequiredStatus__: Unpin,

§

impl<RequiredStatus__> UnwindSafe for OptionalBuilder<RequiredStatus__>
where RequiredStatus__: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.