about summary refs log tree commit diff
path: root/src/libsyntax/util
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-11-06 08:06:50 +0000
committerbors <bors@rust-lang.org>2014-11-06 08:06:50 +0000
commite84e7a00ddec76570bbaa9afea385d544f616814 (patch)
tree5757b1eec689ab03459c9f2518cc602284c44733 /src/libsyntax/util
parent0e2f9b948564708085373fc28d91b4524c821fa3 (diff)
parent11f4baeafb83459befd0196b2b82cda7ed5ea2f1 (diff)
downloadrust-e84e7a00ddec76570bbaa9afea385d544f616814.tar.gz
rust-e84e7a00ddec76570bbaa9afea385d544f616814.zip
auto merge of #18467 : japaric/rust/eq, r=alexcrichton
`eq`, `ne`, `cmp`, etc methods now require one less level of indirection when dealing with `&str`/`&[T]`

``` rust
"foo".ne(&"bar") -> "foo".ne("bar")
slice.cmp(&another_slice) -> slice.cmp(another_slice)
// slice and another_slice have type `&[T]`
```

[breaking-change]
Diffstat (limited to 'src/libsyntax/util')
-rw-r--r--src/libsyntax/util/interner.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libsyntax/util/interner.rs b/src/libsyntax/util/interner.rs
index 105118ff76a..e6c98a9e3d0 100644
--- a/src/libsyntax/util/interner.rs
+++ b/src/libsyntax/util/interner.rs
@@ -97,9 +97,15 @@ pub struct RcStr {
 impl Eq for RcStr {}
 
 impl Ord for RcStr {
+    // NOTE(stage0): remove method after a snapshot
+    #[cfg(stage0)]
     fn cmp(&self, other: &RcStr) -> Ordering {
         self.as_slice().cmp(&other.as_slice())
     }
+    #[cfg(not(stage0))]  // NOTE(stage0): remove cfg after a snapshot
+    fn cmp(&self, other: &RcStr) -> Ordering {
+        self.as_slice().cmp(other.as_slice())
+    }
 }
 
 impl Str for RcStr {