arena_alloc/init.rs
1//! Initialization trait for types that require a circular reference to themselves upon initialization.
2
3use core::mem::MaybeUninit;
4
5/// A trait for initialization of a type that is stored in an arena and
6/// requires a circular reference to itself to initialize.
7pub trait Init {
8 type InitArg;
9
10 fn init(me: &mut MaybeUninit<Self>, arg: Self::InitArg)
11 where
12 Self: Sized;
13}