Rollup merge of #90270 - woppopo:const_borrow_trait, r=dtolnay

Make `Borrow` and `BorrowMut` impls `const`

Tracking issue: #91522
This commit is contained in:
Matthias Krüger
2021-12-11 17:35:24 +01:00
committed by GitHub
2 changed files with 14 additions and 7 deletions

View File

@@ -162,14 +162,16 @@ impl<T, const N: usize> AsMut<[T]> for [T; N] {
}
#[stable(feature = "array_borrow", since = "1.4.0")]
impl<T, const N: usize> Borrow<[T]> for [T; N] {
#[rustc_const_unstable(feature = "const_borrow", issue = "91522")]
impl<T, const N: usize> const Borrow<[T]> for [T; N] {
fn borrow(&self) -> &[T] {
self
}
}
#[stable(feature = "array_borrow", since = "1.4.0")]
impl<T, const N: usize> BorrowMut<[T]> for [T; N] {
#[rustc_const_unstable(feature = "const_borrow", issue = "91522")]
impl<T, const N: usize> const BorrowMut<[T]> for [T; N] {
fn borrow_mut(&mut self) -> &mut [T] {
self
}