Function core::array::try_from_fn [−][src]
pub fn try_from_fn<E, F, T, const N: usize>(cb: F) -> Result<[T; N], E> where
F: FnMut(usize) -> Result<T, E>,
Expand description
Creates an array [T; N]
where each fallible array element T
is returned by the cb
call.
Unlike core::array::from_fn
, where the element creation can’t fail, this version will return an error
if any element creation was unsuccessful.
Arguments
cb
: Callback where the passed argument is the current array index.
Example
#![feature(array_from_fn)]
#[derive(Debug, PartialEq)]
enum SomeError {
Foo,
}
let array = core::array::try_from_fn(|i| Ok::<_, SomeError>(i));
assert_eq!(array, Ok([0, 1, 2, 3, 4]));
let another_array = core::array::try_from_fn::<SomeError, _, (), 2>(|_| Err(SomeError::Foo));
assert_eq!(another_array, Err(SomeError::Foo));
Run