pub trait Init {
const INIT: Self;
}
Expand description
Trait for types having a constant default value. This is essentially a
constant version of Default
.
This trait is subject to the application-side API stability guarantee.
Required Associated Constants§
Implementations on Foreign Types§
source§impl<A, B, C, D, E, F, G, H, I, J, K, L> Init for (A, B, C, D, E, F, G, H, I, J, K, L)where
A: Init,
B: Init,
C: Init,
D: Init,
E: Init,
F: Init,
G: Init,
H: Init,
I: Init,
J: Init,
K: Init,
L: Init,
impl<A, B, C, D, E, F, G, H, I, J, K, L> Init for (A, B, C, D, E, F, G, H, I, J, K, L)where A: Init, B: Init, C: Init, D: Init, E: Init, F: Init, G: Init, H: Init, I: Init, J: Init, K: Init, L: Init,
const INIT: (A, B, C, D, E, F, G, H, I, J, K, L) = (A::INIT, B::INIT, C::INIT, D::INIT, E::INIT, F::INIT, G::INIT, H::INIT, I::INIT, J::INIT, K::INIT, L::INIT)
source§impl Init for AtomicUsize
impl Init for AtomicUsize
const INIT: AtomicUsize = atomic::AtomicUsize::new(0)
source§impl<G, H, I, J, K, L> Init for (G, H, I, J, K, L)where
G: Init,
H: Init,
I: Init,
J: Init,
K: Init,
L: Init,
impl<G, H, I, J, K, L> Init for (G, H, I, J, K, L)where G: Init, H: Init, I: Init, J: Init, K: Init, L: Init,
const INIT: (G, H, I, J, K, L) = (G::INIT, H::INIT, I::INIT, J::INIT, K::INIT, L::INIT)
source§impl<T> Init for PhantomData<T>where
T: ?Sized,
impl<T> Init for PhantomData<T>where T: ?Sized,
const INIT: PhantomData<T> = PhantomData
source§impl Init for AtomicIsize
impl Init for AtomicIsize
const INIT: AtomicIsize = atomic::AtomicIsize::new(0)
source§impl<F, G, H, I, J, K, L> Init for (F, G, H, I, J, K, L)where
F: Init,
G: Init,
H: Init,
I: Init,
J: Init,
K: Init,
L: Init,
impl<F, G, H, I, J, K, L> Init for (F, G, H, I, J, K, L)where F: Init, G: Init, H: Init, I: Init, J: Init, K: Init, L: Init,
const INIT: (F, G, H, I, J, K, L) = (F::INIT, G::INIT, H::INIT, I::INIT, J::INIT, K::INIT, L::INIT)
source§impl<T> Init for MaybeUninit<T>
impl<T> Init for MaybeUninit<T>
const INIT: MaybeUninit<T> = mem::MaybeUninit::uninit()
source§impl<B, C, D, E, F, G, H, I, J, K, L> Init for (B, C, D, E, F, G, H, I, J, K, L)where
B: Init,
C: Init,
D: Init,
E: Init,
F: Init,
G: Init,
H: Init,
I: Init,
J: Init,
K: Init,
L: Init,
impl<B, C, D, E, F, G, H, I, J, K, L> Init for (B, C, D, E, F, G, H, I, J, K, L)where B: Init, C: Init, D: Init, E: Init, F: Init, G: Init, H: Init, I: Init, J: Init, K: Init, L: Init,
const INIT: (B, C, D, E, F, G, H, I, J, K, L) = (B::INIT, C::INIT, D::INIT, E::INIT, F::INIT, G::INIT, H::INIT, I::INIT, J::INIT, K::INIT, L::INIT)
source§impl<C, D, E, F, G, H, I, J, K, L> Init for (C, D, E, F, G, H, I, J, K, L)where
C: Init,
D: Init,
E: Init,
F: Init,
G: Init,
H: Init,
I: Init,
J: Init,
K: Init,
L: Init,
impl<C, D, E, F, G, H, I, J, K, L> Init for (C, D, E, F, G, H, I, J, K, L)where C: Init, D: Init, E: Init, F: Init, G: Init, H: Init, I: Init, J: Init, K: Init, L: Init,
const INIT: (C, D, E, F, G, H, I, J, K, L) = (C::INIT, D::INIT, E::INIT, F::INIT, G::INIT, H::INIT, I::INIT, J::INIT, K::INIT, L::INIT)
source§impl<T> Init for ManuallyDrop<T>where
T: Init,
impl<T> Init for ManuallyDrop<T>where T: Init,
const INIT: ManuallyDrop<T> = mem::ManuallyDrop::new(T::INIT)
source§impl<T, I> Init for UnsyncTokenLock<T, I>where
T: Init,
I: Init,
impl<T, I> Init for UnsyncTokenLock<T, I>where T: Init, I: Init,
const INIT: UnsyncTokenLock<T, I> = Self::new(I::INIT, T::INIT)
source§impl Init for AtomicBool
impl Init for AtomicBool
const INIT: AtomicBool = atomic::AtomicBool::new(false)
source§impl<T> Init for UnsafeCell<T>where
T: Init,
impl<T> Init for UnsafeCell<T>where T: Init,
const INIT: UnsafeCell<T> = UnsafeCell::new(T::INIT)
source§impl<D, E, F, G, H, I, J, K, L> Init for (D, E, F, G, H, I, J, K, L)where
D: Init,
E: Init,
F: Init,
G: Init,
H: Init,
I: Init,
J: Init,
K: Init,
L: Init,
impl<D, E, F, G, H, I, J, K, L> Init for (D, E, F, G, H, I, J, K, L)where D: Init, E: Init, F: Init, G: Init, H: Init, I: Init, J: Init, K: Init, L: Init,
const INIT: (D, E, F, G, H, I, J, K, L) = (D::INIT, E::INIT, F::INIT, G::INIT, H::INIT, I::INIT, J::INIT, K::INIT, L::INIT)
source§impl<Tag> Init for SingletonTokenId<Tag>where
Tag: ?Sized,
impl<Tag> Init for SingletonTokenId<Tag>where Tag: ?Sized,
const INIT: SingletonTokenId<Tag> = Self::new()
source§impl<I, J, K, L> Init for (I, J, K, L)where
I: Init,
J: Init,
K: Init,
L: Init,
impl<I, J, K, L> Init for (I, J, K, L)where I: Init, J: Init, K: Init, L: Init,
const INIT: (I, J, K, L) = (I::INIT, J::INIT, K::INIT, L::INIT)
source§impl<H, I, J, K, L> Init for (H, I, J, K, L)where
H: Init,
I: Init,
J: Init,
K: Init,
L: Init,
impl<H, I, J, K, L> Init for (H, I, J, K, L)where H: Init, I: Init, J: Init, K: Init, L: Init,
const INIT: (H, I, J, K, L) = (H::INIT, I::INIT, J::INIT, K::INIT, L::INIT)
source§impl<T, const LEN: usize> Init for [T; LEN]where
T: Init,
impl<T, const LEN: usize> Init for [T; LEN]where T: Init,
const INIT: [T; LEN] = { let mut array = mem::MaybeUninit::uninit_array(); { let _t = match #[lang = "into_iter"](#[lang = "Range"]{ start: 0, end: LEN,}) { mut iter => loop { match #[lang = "next"](&mut iter) { #[lang = "None"] {} => break, #[lang = "Some"] { 0: i } => { array[i] = mem::MaybeUninit::new(T::INIT); } } }, }; _t }; unsafe { mem::MaybeUninit::array_assume_init(array) } }
source§impl<E, F, G, H, I, J, K, L> Init for (E, F, G, H, I, J, K, L)where
E: Init,
F: Init,
G: Init,
H: Init,
I: Init,
J: Init,
K: Init,
L: Init,
impl<E, F, G, H, I, J, K, L> Init for (E, F, G, H, I, J, K, L)where E: Init, F: Init, G: Init, H: Init, I: Init, J: Init, K: Init, L: Init,
const INIT: (E, F, G, H, I, J, K, L) = (E::INIT, F::INIT, G::INIT, H::INIT, I::INIT, J::INIT, K::INIT, L::INIT)
Implementors§
source§impl Init for ClosureEnv
impl Init for ClosureEnv
const INIT: ClosureEnv = Self(None)
source§impl<System> Init for r3::kernel::Hunk<System>where
System: KernelStatic<System>,
impl<System> Init for r3::kernel::Hunk<System>where System: KernelStatic<System>,
source§impl<System, T> Init for r3::hunk::Hunk<System, [T]>where
System: KernelBase + KernelStatic<System>,
impl<System, T> Init for r3::hunk::Hunk<System, [T]>where System: KernelBase + KernelStatic<System>,
source§impl<T> Init for DefaultSource<T>
Available on crate feature sync
only.
impl<T> Init for DefaultSource<T>
Available on crate feature
sync
only.source§impl<T: Init> Init for MutexInner<T>
Available on crate feature sync
only.
impl<T: Init> Init for MutexInner<T>
Available on crate feature
sync
only.