Skip to main content

CyclicBuildable

Trait CyclicBuildable 

Source
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§

Source

type ScopeInput<'t> where 't: 'a

References made available to the initialization closure.

Source

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>,

Source§

type ScopeInput<'t> = [<T as CyclicBuildable<'a>>::ScopeInput<'t>; N] where 't: 'a

Source§

type ScopeOutput<'t> = [<T as CyclicBuildable<'a>>::ScopeOutput<'t>; N] where 't: 'a

Source§

impl<'a, T> CyclicBuildable<'a> for &'a mut MaybeUninit<T>

Source§

type ScopeInput<'t> = &'a RecCell<'t, T> where 't: 'a

Source§

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.

Source§

type ScopeInput<'t> = (<T as CyclicBuildable<'a>>::ScopeInput<'t>,) where 't: 'a

Source§

type ScopeOutput<'t> = (<T as CyclicBuildable<'a>>::ScopeOutput<'t>,) where 't: 'a

Implementors§