Deprecate Equiv
This commit is contained in:
parent
09707d70a4
commit
5cfac94201
|
@ -563,6 +563,7 @@ impl<'a> Ord for MaybeOwned<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
#[deprecated = "use std::str::CowString"]
|
||||
impl<'a, S: Str> Equiv<S> for MaybeOwned<'a> {
|
||||
#[inline]
|
||||
|
|
|
@ -822,7 +822,8 @@ impl<H: hash::Writer> hash::Hash<H> for String {
|
|||
}
|
||||
}
|
||||
|
||||
#[experimental = "waiting on Equiv stabilization"]
|
||||
#[allow(deprecated)]
|
||||
#[deprecated = "Use overloaded `core::cmp::PartialEq`"]
|
||||
impl<'a, S: Str> Equiv<S> for String {
|
||||
#[inline]
|
||||
fn equiv(&self, other: &S) -> bool {
|
||||
|
|
|
@ -609,7 +609,8 @@ impl<T: PartialOrd> PartialOrd for Vec<T> {
|
|||
#[unstable = "waiting on Eq stability"]
|
||||
impl<T: Eq> Eq for Vec<T> {}
|
||||
|
||||
#[experimental]
|
||||
#[allow(deprecated)]
|
||||
#[deprecated = "Use overloaded `core::cmp::PartialEq`"]
|
||||
impl<T: PartialEq, Sized? V: AsSlice<T>> Equiv<V> for Vec<T> {
|
||||
#[inline]
|
||||
fn equiv(&self, other: &V) -> bool { self.as_slice() == other.as_slice() }
|
||||
|
|
|
@ -240,7 +240,7 @@ pub trait PartialOrd<Sized? Rhs = Self> for Sized?: PartialEq<Rhs> {
|
|||
/// of different types. The most common use case for this relation is
|
||||
/// container types; e.g. it is often desirable to be able to use `&str`
|
||||
/// values to look up entries in a container with `String` keys.
|
||||
#[experimental = "Better solutions may be discovered."]
|
||||
#[deprecated = "Use overloaded core::cmp::PartialEq"]
|
||||
pub trait Equiv<Sized? T> for Sized? {
|
||||
/// Implement this function to decide equivalent values.
|
||||
fn equiv(&self, other: &T) -> bool;
|
||||
|
|
|
@ -321,12 +321,16 @@ impl<T> PartialEq for *mut T {
|
|||
impl<T> Eq for *mut T {}
|
||||
|
||||
// Equivalence for pointers
|
||||
#[allow(deprecated)]
|
||||
#[deprecated = "Use overloaded `core::cmp::PartialEq`"]
|
||||
impl<T> Equiv<*mut T> for *const T {
|
||||
fn equiv(&self, other: &*mut T) -> bool {
|
||||
self.to_uint() == other.to_uint()
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
#[deprecated = "Use overloaded `core::cmp::PartialEq`"]
|
||||
impl<T> Equiv<*const T> for *mut T {
|
||||
fn equiv(&self, other: &*const T) -> bool {
|
||||
self.to_uint() == other.to_uint()
|
||||
|
|
|
@ -1816,13 +1816,15 @@ impl<A, B> PartialEq<[B]> for [A] where A: PartialEq<B> {
|
|||
#[unstable = "waiting for DST"]
|
||||
impl<T: Eq> Eq for [T] {}
|
||||
|
||||
#[unstable = "waiting for DST"]
|
||||
#[allow(deprecated)]
|
||||
#[deprecated = "Use overloaded `core::cmp::PartialEq`"]
|
||||
impl<T: PartialEq, Sized? V: AsSlice<T>> Equiv<V> for [T] {
|
||||
#[inline]
|
||||
fn equiv(&self, other: &V) -> bool { self.as_slice() == other.as_slice() }
|
||||
}
|
||||
|
||||
#[unstable = "waiting for DST"]
|
||||
#[allow(deprecated)]
|
||||
#[deprecated = "Use overloaded `core::cmp::PartialEq`"]
|
||||
impl<'a,T:PartialEq, Sized? V: AsSlice<T>> Equiv<V> for &'a mut [T] {
|
||||
#[inline]
|
||||
fn equiv(&self, other: &V) -> bool { self.as_slice() == other.as_slice() }
|
||||
|
|
|
@ -1248,6 +1248,8 @@ pub mod traits {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
#[deprecated = "Use overloaded `core::cmp::PartialEq`"]
|
||||
impl<S: Str> Equiv<S> for str {
|
||||
#[inline]
|
||||
fn equiv(&self, other: &S) -> bool { eq_slice(self, other.as_slice()) }
|
||||
|
|
|
@ -96,6 +96,7 @@ impl<'a, T: Ord> Ord for MaybeOwnedVector<'a, T> {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
impl<'a, T: PartialEq, Sized? V: AsSlice<T>> Equiv<V> for MaybeOwnedVector<'a, T> {
|
||||
fn equiv(&self, other: &V) -> bool {
|
||||
self.as_slice() == other.as_slice()
|
||||
|
|
|
@ -425,12 +425,14 @@ impl<K: Eq + Hash<S>, V, S, H: Hasher<S>> HashMap<K, V, H> {
|
|||
table::make_hash(&self.hasher, x)
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
fn search_equiv<'a, Sized? Q: Hash<S> + Equiv<K>>(&'a self, q: &Q)
|
||||
-> Option<FullBucketImm<'a, K, V>> {
|
||||
let hash = self.make_hash(q);
|
||||
search_hashed(&self.table, &hash, |k| q.equiv(k)).into_option()
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
fn search_equiv_mut<'a, Sized? Q: Hash<S> + Equiv<K>>(&'a mut self, q: &Q)
|
||||
-> Option<FullBucketMut<'a, K, V>> {
|
||||
let hash = self.make_hash(q);
|
||||
|
|
|
@ -623,6 +623,7 @@ impl fmt::Show for InternedString {
|
|||
}
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
impl<'a> Equiv<&'a str> for InternedString {
|
||||
fn equiv(&self, other: & &'a str) -> bool {
|
||||
(*other) == self.string.as_slice()
|
||||
|
|
Loading…
Reference in New Issue