Skip to content

Commit

Permalink
Fix collections::VecMap's PartialEq implementation
Browse files Browse the repository at this point in the history
Previously it took capacity into account.

Additionally remove the `ne` implementation of `RingBuf` which is the default
one anyway.
  • Loading branch information
tbu- committed Dec 23, 2014
1 parent 34d6800 commit d62cf31
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
3 changes: 0 additions & 3 deletions src/libcollections/ring_buf.rs
Expand Up @@ -1294,9 +1294,6 @@ impl<A: PartialEq> PartialEq for RingBuf<A> {
self.len() == other.len() &&
self.iter().zip(other.iter()).all(|(a, b)| a.eq(b))
}
fn ne(&self, other: &RingBuf<A>) -> bool {
!self.eq(other)
}
}

impl<A: Eq> Eq for RingBuf<A> {}
Expand Down
13 changes: 12 additions & 1 deletion src/libcollections/vec_map.rs
Expand Up @@ -60,7 +60,6 @@ use vec::Vec;
/// months.clear();
/// assert!(months.is_empty());
/// ```
#[deriving(PartialEq, Eq)]
pub struct VecMap<V> {
v: Vec<Option<V>>,
}
Expand Down Expand Up @@ -489,6 +488,14 @@ impl<V:Clone> VecMap<V> {
}
}

impl<V: PartialEq> PartialEq for VecMap<V> {
fn eq(&self, other: &VecMap<V>) -> bool {
iter::order::eq(self.iter(), other.iter())
}
}

impl<V: Eq> Eq for VecMap<V> {}

impl<V: PartialOrd> PartialOrd for VecMap<V> {
#[inline]
fn partial_cmp(&self, other: &VecMap<V>) -> Option<Ordering> {
Expand Down Expand Up @@ -952,6 +959,10 @@ mod test_map {
assert!(a != b);
assert!(b.insert(5, 19).is_none());
assert!(a == b);

a = VecMap::new();
b = VecMap::with_capacity(1);
assert!(a == b);
}

#[test]
Expand Down

0 comments on commit d62cf31

Please sign in to comment.