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.