Rollup merge of #103522 - Dylan-DPC:76118/array-methods-stab, r=dtolnay
stabilise array methods Closes #76118 Stabilises the remaining array methods FCP is yet to be carried out for this There wasn't a clear consensus on the naming, but all the other alternatives had some flaws as discussed in the tracking issue and there was a silence on this issue for a year
This commit is contained in:
@@ -559,8 +559,6 @@ impl<T, const N: usize> [T; N] {
|
||||
/// # Example
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(array_methods)]
|
||||
///
|
||||
/// let floats = [3.1, 2.7, -1.0];
|
||||
/// let float_refs: [&f64; 3] = floats.each_ref();
|
||||
/// assert_eq!(float_refs, [&3.1, &2.7, &-1.0]);
|
||||
@@ -571,8 +569,6 @@ impl<T, const N: usize> [T; N] {
|
||||
/// array if its elements are not [`Copy`].
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(array_methods)]
|
||||
///
|
||||
/// let strings = ["Ferris".to_string(), "♥".to_string(), "Rust".to_string()];
|
||||
/// let is_ascii = strings.each_ref().map(|s| s.is_ascii());
|
||||
/// assert_eq!(is_ascii, [true, false, true]);
|
||||
@@ -580,7 +576,7 @@ impl<T, const N: usize> [T; N] {
|
||||
/// // We can still access the original array: it has not been moved.
|
||||
/// assert_eq!(strings.len(), 3);
|
||||
/// ```
|
||||
#[unstable(feature = "array_methods", issue = "76118")]
|
||||
#[stable(feature = "array_methods", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub fn each_ref(&self) -> [&T; N] {
|
||||
from_trusted_iterator(self.iter())
|
||||
}
|
||||
@@ -592,7 +588,6 @@ impl<T, const N: usize> [T; N] {
|
||||
/// # Example
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(array_methods)]
|
||||
///
|
||||
/// let mut floats = [3.1, 2.7, -1.0];
|
||||
/// let float_refs: [&mut f64; 3] = floats.each_mut();
|
||||
@@ -600,7 +595,7 @@ impl<T, const N: usize> [T; N] {
|
||||
/// assert_eq!(float_refs, [&mut 0.0, &mut 2.7, &mut -1.0]);
|
||||
/// assert_eq!(floats, [0.0, 2.7, -1.0]);
|
||||
/// ```
|
||||
#[unstable(feature = "array_methods", issue = "76118")]
|
||||
#[stable(feature = "array_methods", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub fn each_mut(&mut self) -> [&mut T; N] {
|
||||
from_trusted_iterator(self.iter_mut())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user