Function kernel::init::pin_init_array_from_fn
source · pub fn pin_init_array_from_fn<I, const N: usize, T, E>(
make_init: impl FnMut(usize) -> I
) -> impl PinInit<[T; N], E>where
I: PinInit<T, E>,
Expand description
Initializes an array by initializing each element via the provided initializer.
Examples
use kernel::{sync::{Arc, Mutex}, init::pin_init_array_from_fn, new_mutex};
let array: Arc<[Mutex<usize>; 1_000]>=
Arc::pin_init(pin_init_array_from_fn(|i| new_mutex!(i))).unwrap();
assert_eq!(array.len(), 1_000);