pub unsafe trait CyclicBuildable<'a>: Sized + Sealed {
type ScopeInput<'t>
where 't: 'a;
type ScopeOutput<'t>
where 't: 'a;
}Expand description
Storage where cyclic initialization can be performed.
Required Associated Types§
Sourcetype ScopeInput<'t>
where
't: 'a
type ScopeInput<'t> where 't: 'a
References made available to the initialization closure.
Sourcetype ScopeOutput<'t>
where
't: 'a
type ScopeOutput<'t> where 't: 'a
Values the initialization closure must return for the storage.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<'a, T, const N: usize> CyclicBuildable<'a> for [T; N]where
T: CyclicBuildable<'a>,
impl<'a, T, const N: usize> CyclicBuildable<'a> for [T; N]where
T: CyclicBuildable<'a>,
type ScopeInput<'t> = [<T as CyclicBuildable<'a>>::ScopeInput<'t>; N] where 't: 'a
type ScopeOutput<'t> = [<T as CyclicBuildable<'a>>::ScopeOutput<'t>; N] where 't: 'a
Source§impl<'a, T> CyclicBuildable<'a> for &'a mut MaybeUninit<T>
impl<'a, T> CyclicBuildable<'a> for &'a mut MaybeUninit<T>
type ScopeInput<'t> = &'a RecCell<'t, T> where 't: 'a
type ScopeOutput<'t> = T where 't: 'a
Source§impl<'a, T> CyclicBuildable<'a> for (T₁, T₂, …, Tₙ)where
T: CyclicBuildable<'a>,
This trait is implemented for tuples up to twelve items long.
impl<'a, T> CyclicBuildable<'a> for (T₁, T₂, …, Tₙ)where
T: CyclicBuildable<'a>,
This trait is implemented for tuples up to twelve items long.