diff options
| author | Marvin Löbel <loebel.marvin@gmail.com> | 2014-03-20 14:12:56 +0100 |
|---|---|---|
| committer | Marvin Löbel <loebel.marvin@gmail.com> | 2014-03-25 21:49:55 +0100 |
| commit | 6200e761f0ef58510ad2acc383b29de7e7a79bcd (patch) | |
| tree | 4eb8bee6a91f0d8cbc79b33506344a56f1891e5d /src/libcollections | |
| parent | 1f5571abc222520537daa00fc8256040647eec86 (diff) | |
Changed `iter::Extendable` and `iter::FromIterator` to take a `Iterator` by value
Diffstat (limited to 'src/libcollections')
| -rw-r--r-- | src/libcollections/dlist.rs | 6 | ||||
| -rw-r--r-- | src/libcollections/hashmap.rs | 12 | ||||
| -rw-r--r-- | src/libcollections/priority_queue.rs | 7 | ||||
| -rw-r--r-- | src/libcollections/ringbuf.rs | 6 | ||||
| -rw-r--r-- | src/libcollections/treemap.rs | 12 | ||||
| -rw-r--r-- | src/libcollections/trie.rs | 12 |
6 files changed, 27 insertions, 28 deletions
diff --git a/src/libcollections/dlist.rs b/src/libcollections/dlist.rs index a3b65609b0a..914244cc431 100644 --- a/src/libcollections/dlist.rs +++ b/src/libcollections/dlist.rs @@ -582,7 +582,7 @@ impl<A> DoubleEndedIterator<A> for MoveItems<A> { } impl<A> FromIterator<A> for DList<A> { - fn from_iterator<T: Iterator<A>>(iterator: &mut T) -> DList<A> { + fn from_iterator<T: Iterator<A>>(iterator: T) -> DList<A> { let mut ret = DList::new(); ret.extend(iterator); ret @@ -590,8 +590,8 @@ impl<A> FromIterator<A> for DList<A> { } impl<A> Extendable<A> for DList<A> { - fn extend<T: Iterator<A>>(&mut self, iterator: &mut T) { - for elt in *iterator { self.push_back(elt); } + fn extend<T: Iterator<A>>(&mut self, mut iterator: T) { + for elt in iterator { self.push_back(elt); } } } diff --git a/src/libcollections/hashmap.rs b/src/libcollections/hashmap.rs index 5ec5db45f27..b03cfced7cd 100644 --- a/src/libcollections/hashmap.rs +++ b/src/libcollections/hashmap.rs @@ -1356,7 +1356,7 @@ pub type Values<'a, K, V> = iter::Map<'static, (&'a K, &'a V), &'a V, Entries<'a, K, V>>; impl<K: TotalEq + Hash<S>, V, S, H: Hasher<S> + Default> FromIterator<(K, V)> for HashMap<K, V, H> { - fn from_iterator<T: Iterator<(K, V)>>(iter: &mut T) -> HashMap<K, V, H> { + fn from_iterator<T: Iterator<(K, V)>>(iter: T) -> HashMap<K, V, H> { let (lower, _) = iter.size_hint(); let mut map = HashMap::with_capacity_and_hasher(lower, Default::default()); map.extend(iter); @@ -1365,8 +1365,8 @@ impl<K: TotalEq + Hash<S>, V, S, H: Hasher<S> + Default> FromIterator<(K, V)> fo } impl<K: TotalEq + Hash<S>, V, S, H: Hasher<S> + Default> Extendable<(K, V)> for HashMap<K, V, H> { - fn extend<T: Iterator<(K, V)>>(&mut self, iter: &mut T) { - for (k, v) in *iter { + fn extend<T: Iterator<(K, V)>>(&mut self, mut iter: T) { + for (k, v) in iter { self.insert(k, v); } } @@ -1540,7 +1540,7 @@ impl<T: TotalEq + Hash<S> + fmt::Show, S, H: Hasher<S>> fmt::Show for HashSet<T, } impl<T: TotalEq + Hash<S>, S, H: Hasher<S> + Default> FromIterator<T> for HashSet<T, H> { - fn from_iterator<I: Iterator<T>>(iter: &mut I) -> HashSet<T, H> { + fn from_iterator<I: Iterator<T>>(iter: I) -> HashSet<T, H> { let (lower, _) = iter.size_hint(); let mut set = HashSet::with_capacity_and_hasher(lower, Default::default()); set.extend(iter); @@ -1549,8 +1549,8 @@ impl<T: TotalEq + Hash<S>, S, H: Hasher<S> + Default> FromIterator<T> for HashSe } impl<T: TotalEq + Hash<S>, S, H: Hasher<S> + Default> Extendable<T> for HashSet<T, H> { - fn extend<I: Iterator<T>>(&mut self, iter: &mut I) { - for k in *iter { + fn extend<I: Iterator<T>>(&mut self, mut iter: I) { + for k in iter { self.insert(k); } } diff --git a/src/libcollections/priority_queue.rs b/src/libcollections/priority_queue.rs index dc9e5a9700d..65ccfe3ff70 100644 --- a/src/libcollections/priority_queue.rs +++ b/src/libcollections/priority_queue.rs @@ -193,22 +193,21 @@ impl<'a, T> Iterator<&'a T> for Items<'a, T> { } impl<T: Ord> FromIterator<T> for PriorityQueue<T> { - fn from_iterator<Iter: Iterator<T>>(iter: &mut Iter) -> PriorityQueue<T> { + fn from_iterator<Iter: Iterator<T>>(iter: Iter) -> PriorityQueue<T> { let mut q = PriorityQueue::new(); q.extend(iter); - q } } impl<T: Ord> Extendable<T> for PriorityQueue<T> { - fn extend<Iter: Iterator<T>>(&mut self, iter: &mut Iter) { + fn extend<Iter: Iterator<T>>(&mut self, mut iter: Iter) { let (lower, _) = iter.size_hint(); let len = self.capacity(); self.reserve(len + lower); - for elem in *iter { + for elem in iter { self.push(elem); } } diff --git a/src/libcollections/ringbuf.rs b/src/libcollections/ringbuf.rs index e083f3f600f..05a4a2ba5fb 100644 --- a/src/libcollections/ringbuf.rs +++ b/src/libcollections/ringbuf.rs @@ -386,7 +386,7 @@ impl<A: Eq> Eq for RingBuf<A> { } impl<A> FromIterator<A> for RingBuf<A> { - fn from_iterator<T: Iterator<A>>(iterator: &mut T) -> RingBuf<A> { + fn from_iterator<T: Iterator<A>>(iterator: T) -> RingBuf<A> { let (lower, _) = iterator.size_hint(); let mut deq = RingBuf::with_capacity(lower); deq.extend(iterator); @@ -395,8 +395,8 @@ impl<A> FromIterator<A> for RingBuf<A> { } impl<A> Extendable<A> for RingBuf<A> { - fn extend<T: Iterator<A>>(&mut self, iterator: &mut T) { - for elt in *iterator { + fn extend<T: Iterator<A>>(&mut self, mut iterator: T) { + for elt in iterator { self.push_back(elt); } } diff --git a/src/libcollections/treemap.rs b/src/libcollections/treemap.rs index 5965417bac7..80886f96086 100644 --- a/src/libcollections/treemap.rs +++ b/src/libcollections/treemap.rs @@ -971,7 +971,7 @@ fn remove<K: TotalOrd, V>(node: &mut Option<~TreeNode<K, V>>, } impl<K: TotalOrd, V> FromIterator<(K, V)> for TreeMap<K, V> { - fn from_iterator<T: Iterator<(K, V)>>(iter: &mut T) -> TreeMap<K, V> { + fn from_iterator<T: Iterator<(K, V)>>(iter: T) -> TreeMap<K, V> { let mut map = TreeMap::new(); map.extend(iter); map @@ -980,15 +980,15 @@ impl<K: TotalOrd, V> FromIterator<(K, V)> for TreeMap<K, V> { impl<K: TotalOrd, V> Extendable<(K, V)> for TreeMap<K, V> { #[inline] - fn extend<T: Iterator<(K, V)>>(&mut self, iter: &mut T) { - for (k, v) in *iter { + fn extend<T: Iterator<(K, V)>>(&mut self, mut iter: T) { + for (k, v) in iter { self.insert(k, v); } } } impl<T: TotalOrd> FromIterator<T> for TreeSet<T> { - fn from_iterator<Iter: Iterator<T>>(iter: &mut Iter) -> TreeSet<T> { + fn from_iterator<Iter: Iterator<T>>(iter: Iter) -> TreeSet<T> { let mut set = TreeSet::new(); set.extend(iter); set @@ -997,8 +997,8 @@ impl<T: TotalOrd> FromIterator<T> for TreeSet<T> { impl<T: TotalOrd> Extendable<T> for TreeSet<T> { #[inline] - fn extend<Iter: Iterator<T>>(&mut self, iter: &mut Iter) { - for elem in *iter { + fn extend<Iter: Iterator<T>>(&mut self, mut iter: Iter) { + for elem in iter { self.insert(elem); } } diff --git a/src/libcollections/trie.rs b/src/libcollections/trie.rs index 66bcd3cbdda..f1cc9367509 100644 --- a/src/libcollections/trie.rs +++ b/src/libcollections/trie.rs @@ -261,7 +261,7 @@ impl<T> TrieMap<T> { } impl<T> FromIterator<(uint, T)> for TrieMap<T> { - fn from_iterator<Iter: Iterator<(uint, T)>>(iter: &mut Iter) -> TrieMap<T> { + fn from_iterator<Iter: Iterator<(uint, T)>>(iter: Iter) -> TrieMap<T> { let mut map = TrieMap::new(); map.extend(iter); map @@ -269,8 +269,8 @@ impl<T> FromIterator<(uint, T)> for TrieMap<T> { } impl<T> Extendable<(uint, T)> for TrieMap<T> { - fn extend<Iter: Iterator<(uint, T)>>(&mut self, iter: &mut Iter) { - for (k, v) in *iter { + fn extend<Iter: Iterator<(uint, T)>>(&mut self, mut iter: Iter) { + for (k, v) in iter { self.insert(k, v); } } @@ -346,7 +346,7 @@ impl TrieSet { } impl FromIterator<uint> for TrieSet { - fn from_iterator<Iter: Iterator<uint>>(iter: &mut Iter) -> TrieSet { + fn from_iterator<Iter: Iterator<uint>>(iter: Iter) -> TrieSet { let mut set = TrieSet::new(); set.extend(iter); set @@ -354,8 +354,8 @@ impl FromIterator<uint> for TrieSet { } impl Extendable<uint> for TrieSet { - fn extend<Iter: Iterator<uint>>(&mut self, iter: &mut Iter) { - for elem in *iter { + fn extend<Iter: Iterator<uint>>(&mut self, mut iter: Iter) { + for elem in iter { self.insert(elem); } } |
