FlatDefault

Trait FlatDefault 

Source
pub trait FlatDefault: Flat {
    type DefaultEmplacer: Emplacer<Self>;

    // Required method
    fn default_emplacer() -> Self::DefaultEmplacer;

    // Provided method
    fn default_in_place(bytes: &mut [u8]) -> Result<&mut Self, Error> { ... }
}
Expand description

Flat types that can be initialized to default state.

§Safety

Methods must properly initialize memory.

Required Associated Types§

Required Methods§

Source

fn default_emplacer() -> Self::DefaultEmplacer

Initialize uninitialized memory into valid default state.

This method returned Ok must guaratee that this could be safely transmuted to Self.

Provided Methods§

Source

fn default_in_place(bytes: &mut [u8]) -> Result<&mut Self, Error>

Create a new instance of Self initializing raw memory into default state of Self.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§