diff options
| author | bors <bors@rust-lang.org> | 2015-01-20 23:03:09 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-01-20 23:03:09 +0000 |
| commit | 29bd9a06efd2f8c8a7b1102e2203cc0e6ae2dcba (patch) | |
| tree | 98824cc18b1c65ff09f383438d79ad2d0a0e2ea8 /src/libstd/collections | |
| parent | 583c5c589ed02e5b6b14a576e35e0ce68988d949 (diff) | |
| parent | 631896dc1996d239a532b0ce02d5fe886660149e (diff) | |
| download | rust-29bd9a06efd2f8c8a7b1102e2203cc0e6ae2dcba.tar.gz rust-29bd9a06efd2f8c8a7b1102e2203cc0e6ae2dcba.zip | |
Auto merge of #21439 - alexcrichton:rollup, r=alexcrichton
Continuation of https://github.com/rust-lang/rust/pull/21428
Diffstat (limited to 'src/libstd/collections')
| -rw-r--r-- | src/libstd/collections/hash/map.rs | 17 | ||||
| -rw-r--r-- | src/libstd/collections/hash/table.rs | 23 |
2 files changed, 10 insertions, 30 deletions
diff --git a/src/libstd/collections/hash/map.rs b/src/libstd/collections/hash/map.rs index 80ae3076df3..d3ac632617d 100644 --- a/src/libstd/collections/hash/map.rs +++ b/src/libstd/collections/hash/map.rs @@ -2113,23 +2113,6 @@ mod test_map { } #[test] - fn test_find_equiv() { - let mut m = HashMap::new(); - - let (foo, bar, baz) = (1i,2i,3i); - m.insert("foo".to_string(), foo); - m.insert("bar".to_string(), bar); - m.insert("baz".to_string(), baz); - - - assert_eq!(m.get("foo"), Some(&foo)); - assert_eq!(m.get("bar"), Some(&bar)); - assert_eq!(m.get("baz"), Some(&baz)); - - assert_eq!(m.get("qux"), None); - } - - #[test] fn test_from_iter() { let xs = [(1i, 1i), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6)]; diff --git a/src/libstd/collections/hash/table.rs b/src/libstd/collections/hash/table.rs index f28b95dbe95..d810460a7d4 100644 --- a/src/libstd/collections/hash/table.rs +++ b/src/libstd/collections/hash/table.rs @@ -395,9 +395,6 @@ impl<K, V, M: Deref<Target=RawTable<K, V>> + DerefMut> FullBucket<K, V, M> { /// This works similarly to `put`, building an `EmptyBucket` out of the /// taken bucket. pub fn take(mut self) -> (EmptyBucket<K, V, M>, K, V) { - let key = self.raw.key as *const K; - let val = self.raw.val as *const V; - self.table.size -= 1; unsafe { @@ -408,8 +405,8 @@ impl<K, V, M: Deref<Target=RawTable<K, V>> + DerefMut> FullBucket<K, V, M> { idx: self.idx, table: self.table }, - ptr::read(key), - ptr::read(val) + ptr::read(self.raw.key), + ptr::read(self.raw.val) ) } } @@ -477,8 +474,8 @@ impl<K, V, M: Deref<Target=RawTable<K, V>>> GapThenFull<K, V, M> { pub fn shift(mut self) -> Option<GapThenFull<K, V, M>> { unsafe { *self.gap.raw.hash = mem::replace(&mut *self.full.raw.hash, EMPTY_BUCKET); - copy_nonoverlapping_memory(self.gap.raw.key, self.full.raw.key as *const K, 1); - copy_nonoverlapping_memory(self.gap.raw.val, self.full.raw.val as *const V, 1); + copy_nonoverlapping_memory(self.gap.raw.key, self.full.raw.key, 1); + copy_nonoverlapping_memory(self.gap.raw.val, self.full.raw.val, 1); } let FullBucket { raw: prev_raw, idx: prev_idx, .. } = self.full; @@ -781,8 +778,8 @@ impl<'a, K, V> Iterator for RevMoveBuckets<'a, K, V> { if *self.raw.hash != EMPTY_BUCKET { self.elems_left -= 1; return Some(( - ptr::read(self.raw.key as *const K), - ptr::read(self.raw.val as *const V) + ptr::read(self.raw.key), + ptr::read(self.raw.val) )); } } @@ -878,8 +875,8 @@ impl<K, V> Iterator for IntoIter<K, V> { SafeHash { hash: *bucket.hash, }, - ptr::read(bucket.key as *const K), - ptr::read(bucket.val as *const V) + ptr::read(bucket.key), + ptr::read(bucket.val) ) } }) @@ -906,8 +903,8 @@ impl<'a, K, V> Iterator for Drain<'a, K, V> { SafeHash { hash: ptr::replace(bucket.hash, EMPTY_BUCKET), }, - ptr::read(bucket.key as *const K), - ptr::read(bucket.val as *const V) + ptr::read(bucket.key), + ptr::read(bucket.val) ) } }) |
