Skip to content

Commit

Permalink
Revert "Implement Index[Mut] for arrays"
Browse files Browse the repository at this point in the history
This reverts commit c03dfa6.

The commit broke code that worked on stable and beta:

const fn foo() {
    let mut array = [[0; 1]; 1];
    array[0][0] = 1;
}

But this was not noticed until the commit landed.

Fixes rust-lang#79152
  • Loading branch information
matthiaskrgr committed Nov 25, 2020
1 parent 3479fc6 commit 6be10de
Showing 1 changed file with 0 additions and 25 deletions.
25 changes: 0 additions & 25 deletions library/core/src/array/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ use crate::convert::{Infallible, TryFrom};
use crate::fmt;
use crate::hash::{self, Hash};
use crate::marker::Unsize;
use crate::ops::{Index, IndexMut};
use crate::slice::{Iter, IterMut};

mod iter;
Expand Down Expand Up @@ -209,30 +208,6 @@ impl<'a, T, const N: usize> IntoIterator for &'a mut [T; N] {
}
}

#[stable(feature = "index_trait_on_arrays", since = "1.50.0")]
impl<T, I, const N: usize> Index<I> for [T; N]
where
[T]: Index<I>,
{
type Output = <[T] as Index<I>>::Output;

#[inline]
fn index(&self, index: I) -> &Self::Output {
Index::index(self as &[T], index)
}
}

#[stable(feature = "index_trait_on_arrays", since = "1.50.0")]
impl<T, I, const N: usize> IndexMut<I> for [T; N]
where
[T]: IndexMut<I>,
{
#[inline]
fn index_mut(&mut self, index: I) -> &mut Self::Output {
IndexMut::index_mut(self as &mut [T], index)
}
}

#[stable(feature = "rust1", since = "1.0.0")]
impl<A, B, const N: usize> PartialEq<[B; N]> for [A; N]
where
Expand Down

0 comments on commit 6be10de

Please sign in to comment.