Add [T; N]::as_[mut_]slice

These methods are like the ones on `std::array::FixedSizeArray`
and in the crate `arraytools`.
This commit is contained in:
Lukas Kalbertodt 2020-08-30 20:22:09 +02:00
parent 85fbf49ce0
commit 104a02301c
No known key found for this signature in database
GPG Key ID: AA5025CF1CC85754

View File

@ -422,4 +422,17 @@ impl<T, const N: usize> [T; N] {
// and we just need to cast it to the correct type.
unsafe { crate::mem::transmute_copy::<_, [U; N]>(&dst) }
}
/// Returns a slice containing the entire array. Equivalent to `&s[..]`.
#[unstable(feature = "array_methods", issue = "76118")]
pub fn as_slice(&self) -> &[T] {
self
}
/// Returns a mutable slice containing the entire array. Equivalent to
/// `&mut s[..]`.
#[unstable(feature = "array_methods", issue = "76118")]
pub fn as_mut_slice(&mut self) -> &mut [T] {
self
}
}