diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-12-30 16:25:47 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-12-30 16:25:47 -0800 |
| commit | 836bcb6ef41a5a347950893ae70fccbe26bca40e (patch) | |
| tree | 9059abfaedddc15470a9474568badcf280b189fa /src/libcore/array.rs | |
| parent | 3c5fd402cf6921d3c5fe25de37522914ec690f60 (diff) | |
| parent | b94bcbf56eab163517e8ffc93888284b8dbb6238 (diff) | |
| download | rust-836bcb6ef41a5a347950893ae70fccbe26bca40e.tar.gz rust-836bcb6ef41a5a347950893ae70fccbe26bca40e.zip | |
rollup merge of #20065: aturon/stab-2-cmp
This patch marks `PartialEq`, `Eq`, `PartialOrd`, and `Ord` as `#[stable]`, as well as the majorify of manual implementaitons of these traits. The traits match the [reform RFC](https://github.com/rust-lang/rfcs/pull/439). In the future, many of the impls should be generalized; see #20063. However, there is no problem stabilizing the less general impls, since generalizing later is not a breaking change. r? @alexcrichton
Diffstat (limited to 'src/libcore/array.rs')
| -rw-r--r-- | src/libcore/array.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libcore/array.rs b/src/libcore/array.rs index e85a132ed36..88e23377046 100644 --- a/src/libcore/array.rs +++ b/src/libcore/array.rs @@ -39,7 +39,7 @@ macro_rules! array_impls { } } - #[unstable = "waiting for PartialEq to stabilize"] + #[stable] impl<A, B> PartialEq<[B, ..$N]> for [A, ..$N] where A: PartialEq<B> { #[inline] fn eq(&self, other: &[B, ..$N]) -> bool { @@ -51,6 +51,7 @@ macro_rules! array_impls { } } + #[stable] impl<'a, A, B, Rhs> PartialEq<Rhs> for [A, ..$N] where A: PartialEq<B>, Rhs: Deref<[B]>, @@ -61,6 +62,7 @@ macro_rules! array_impls { fn ne(&self, other: &Rhs) -> bool { PartialEq::ne(self[], &**other) } } + #[stable] impl<'a, A, B, Lhs> PartialEq<[B, ..$N]> for Lhs where A: PartialEq<B>, Lhs: Deref<[A]> @@ -71,10 +73,10 @@ macro_rules! array_impls { fn ne(&self, other: &[B, ..$N]) -> bool { PartialEq::ne(&**self, other[]) } } - #[unstable = "waiting for Eq to stabilize"] + #[stable] impl<T:Eq> Eq for [T, ..$N] { } - #[unstable = "waiting for PartialOrd to stabilize"] + #[stable] impl<T:PartialOrd> PartialOrd for [T, ..$N] { #[inline] fn partial_cmp(&self, other: &[T, ..$N]) -> Option<Ordering> { @@ -98,7 +100,7 @@ macro_rules! array_impls { } } - #[unstable = "waiting for Ord to stabilize"] + #[stable] impl<T:Ord> Ord for [T, ..$N] { #[inline] fn cmp(&self, other: &[T, ..$N]) -> Ordering { |
