mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-24 13:43:04 +00:00
Stabilize core::array::from_fn
This commit is contained in:
parent
512a328e2f
commit
d917112606
@ -31,14 +31,12 @@ pub use iter::IntoIter;
|
||||
/// # Example
|
||||
///
|
||||
/// ```rust
|
||||
/// #![feature(array_from_fn)]
|
||||
///
|
||||
/// let array = core::array::from_fn(|i| i);
|
||||
/// assert_eq!(array, [0, 1, 2, 3, 4]);
|
||||
/// ```
|
||||
#[inline]
|
||||
#[unstable(feature = "array_from_fn", issue = "89379")]
|
||||
pub fn from_fn<F, T, const N: usize>(mut cb: F) -> [T; N]
|
||||
#[stable(feature = "array_from_fn", since = "1.63.0")]
|
||||
pub fn from_fn<T, const N: usize, F>(mut cb: F) -> [T; N]
|
||||
where
|
||||
F: FnMut(usize) -> T,
|
||||
{
|
||||
@ -65,7 +63,7 @@ where
|
||||
/// # Example
|
||||
///
|
||||
/// ```rust
|
||||
/// #![feature(array_from_fn)]
|
||||
/// #![feature(array_try_from_fn)]
|
||||
///
|
||||
/// let array: Result<[u8; 5], _> = std::array::try_from_fn(|i| i.try_into());
|
||||
/// assert_eq!(array, Ok([0, 1, 2, 3, 4]));
|
||||
@ -80,8 +78,8 @@ where
|
||||
/// assert_eq!(array, None);
|
||||
/// ```
|
||||
#[inline]
|
||||
#[unstable(feature = "array_from_fn", issue = "89379")]
|
||||
pub fn try_from_fn<F, R, const N: usize>(cb: F) -> ChangeOutputType<R, [R::Output; N]>
|
||||
#[unstable(feature = "array_try_from_fn", issue = "89379")]
|
||||
pub fn try_from_fn<R, const N: usize, F>(cb: F) -> ChangeOutputType<R, [R::Output; N]>
|
||||
where
|
||||
F: FnMut(usize) -> R,
|
||||
R: Try,
|
||||
|
@ -388,7 +388,7 @@ fn array_try_from_fn() {
|
||||
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::<_, Result<(), _>, 2>(|_| Err(SomeError::Foo));
|
||||
let another_array = core::array::try_from_fn::<Result<(), _>, 2, _>(|_| Err(SomeError::Foo));
|
||||
assert_eq!(another_array, Err(SomeError::Foo));
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
||||
#![feature(float_minimum_maximum)]
|
||||
#![feature(future_join)]
|
||||
#![feature(future_poll_fn)]
|
||||
#![feature(array_from_fn)]
|
||||
#![feature(array_try_from_fn)]
|
||||
#![feature(hasher_prefixfree_extras)]
|
||||
#![feature(hashmap_internals)]
|
||||
#![feature(try_find)]
|
||||
|
Loading…
Reference in New Issue
Block a user