[][src]Trait default_boxed::DefaultBoxed

pub trait DefaultBoxed {
    unsafe fn default_in_place(ptr: *mut Self);

    fn default_boxed() -> Box<Self>
    where
        Self: Sized
, { ... } }

Helper trait to create a boxed instance of the given type with a default value for each field.

This trait can be derived for structs.

To derive this trait, each field needs to also implement this trait, but all types which implements Default implements this trait via the blanket impl already.

In addition, if a field is an array, only the item type needs to implement this trait, and each item would be initialized separately.

Required methods

unsafe fn default_in_place(ptr: *mut Self)

Fill the given memory location with default value.

Safety

For callers, behavior is undefined if ptr is not valid for writes, or it is not properly aligned.

For impls, behavior is undefined if this method reads from ptr.

Loading content...

Provided methods

fn default_boxed() -> Box<Self> where
    Self: Sized

Create a boxed instance with default value for each field.

Loading content...

Implementors

impl<T: Default> DefaultBoxed for T[src]

Loading content...