Trait pinned_init::PinnedInit
source · [−]pub trait PinnedInit: TransmuteInto<Self::Initialized> + BeginInit {
type Initialized;
fn init_raw(this: NeedsPinnedInit<'_, Self>);
}
Expand description
Facilitates pinned initialization.
Before you implement this trait manually, look at the pinned_init
proc
macro attribute, it can be used to implement this trait in a safe and sound
fashion in many cases.
You will need to implement this trait yourself, if your struct contains any
fields with the static_uninit::StaticUninit
type. When implementing this
trait manually, use the manual_init
proc macro attribute to implement
[BeginInit
] for your struct, as implementing that trait is not supposed to
be done manually.
Required Associated Types
type Initialized
type Initialized
The initialized version of Self
. Self
can be transmuted via
TransmuteInto
into this type.
Required Methods
fn init_raw(this: NeedsPinnedInit<'_, Self>)
fn init_raw(this: NeedsPinnedInit<'_, Self>)
Initialize the value behind the given pointer, this pointer ensures,
that Self
really will be initialized.