Skip to content

Commit 52d3d61

Browse files
committed
---
yaml --- r: 184127 b: refs/heads/beta c: 66613e2 h: refs/heads/master i: 184125: 6c366be 184123: 2b25d6e 184119: 68a178b 184111: 2365e6d 184095: cc84703 184063: 52bac36 v: v3
1 parent c4d9325 commit 52d3d61

File tree

21 files changed

+49
-44
lines changed

21 files changed

+49
-44
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ refs/heads/automation-fail: 1bf06495443584539b958873e04cc2f864ab10e4
3131
refs/heads/issue-18208-method-dispatch-3-quick-reject: 2009f85b9f99dedcec4404418eda9ddba90258a2
3232
refs/heads/batch: b7fd822592a4fb577552d93010c4a4e14f314346
3333
refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
34-
refs/heads/beta: 4a9d190423f67a00053f4b5c9869f0ccbdfcc689
34+
refs/heads/beta: 66613e26b95438c02e2f5c273c557515454121f7
3535
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928
3636
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
3737
refs/heads/tmp: c65fb1a81e5dc58cf171cc47f65de9e6e2119247

branches/beta/src/libcollections/binary_heap.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -650,8 +650,8 @@ impl<'a, T: 'a> ExactSizeIterator for Drain<'a, T> {}
650650

651651
#[stable(feature = "rust1", since = "1.0.0")]
652652
impl<T: Ord> FromIterator<T> for BinaryHeap<T> {
653-
fn from_iter<Iter: Iterator<Item=T>>(iter: Iter) -> BinaryHeap<T> {
654-
BinaryHeap::from_vec(iter.collect())
653+
fn from_iter<I: IntoIterator<Item=T>>(iter: I) -> BinaryHeap<T> {
654+
BinaryHeap::from_vec(iter.into_iter().collect())
655655
}
656656
}
657657

branches/beta/src/libcollections/bit.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -924,9 +924,9 @@ impl Default for BitVec {
924924

925925
#[stable(feature = "rust1", since = "1.0.0")]
926926
impl FromIterator<bool> for BitVec {
927-
fn from_iter<I:Iterator<Item=bool>>(iterator: I) -> BitVec {
928-
let mut ret = BitVec::new();
929-
ret.extend(iterator);
927+
fn from_iter<I: IntoIterator<Item=bool>>(iter: I) -> BitVec {
928+
let mut ret = Bitv::new();
929+
ret.extend(iter);
930930
ret
931931
}
932932
}
@@ -1134,9 +1134,9 @@ impl Default for BitSet {
11341134

11351135
#[stable(feature = "rust1", since = "1.0.0")]
11361136
impl FromIterator<usize> for BitSet {
1137-
fn from_iter<I:Iterator<Item=usize>>(iterator: I) -> BitSet {
1138-
let mut ret = BitSet::new();
1139-
ret.extend(iterator);
1137+
fn from_iter<I: IntoIterator<Item=usize>>(iter: I) -> BitSet {
1138+
let mut ret = BitvSet::new();
1139+
ret.extend(iter);
11401140
ret
11411141
}
11421142
}

branches/beta/src/libcollections/btree/map.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -826,7 +826,7 @@ mod stack {
826826

827827
#[stable(feature = "rust1", since = "1.0.0")]
828828
impl<K: Ord, V> FromIterator<(K, V)> for BTreeMap<K, V> {
829-
fn from_iter<T: Iterator<Item=(K, V)>>(iter: T) -> BTreeMap<K, V> {
829+
fn from_iter<T: IntoIterator<Item=(K, V)>>(iter: T) -> BTreeMap<K, V> {
830830
let mut map = BTreeMap::new();
831831
map.extend(iter);
832832
map

branches/beta/src/libcollections/btree/set.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ impl<T: Ord> BTreeSet<T> {
473473

474474
#[stable(feature = "rust1", since = "1.0.0")]
475475
impl<T: Ord> FromIterator<T> for BTreeSet<T> {
476-
fn from_iter<Iter: Iterator<Item=T>>(iter: Iter) -> BTreeSet<T> {
476+
fn from_iter<I: IntoIterator<Item=T>>(iter: I) -> BTreeSet<T> {
477477
let mut set = BTreeSet::new();
478478
set.extend(iter);
479479
set

branches/beta/src/libcollections/enum_set.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,9 +250,9 @@ impl<E:CLike> Iterator for Iter<E> {
250250
}
251251

252252
impl<E:CLike> FromIterator<E> for EnumSet<E> {
253-
fn from_iter<I:Iterator<Item=E>>(iterator: I) -> EnumSet<E> {
253+
fn from_iter<I: IntoIterator<Item=E>>(iter: I) -> EnumSet<E> {
254254
let mut ret = EnumSet::new();
255-
ret.extend(iterator);
255+
ret.extend(iter);
256256
ret
257257
}
258258
}

branches/beta/src/libcollections/linked_list.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -834,9 +834,9 @@ impl<A> DoubleEndedIterator for IntoIter<A> {
834834

835835
#[stable(feature = "rust1", since = "1.0.0")]
836836
impl<A> FromIterator<A> for LinkedList<A> {
837-
fn from_iter<T: Iterator<Item=A>>(iterator: T) -> LinkedList<A> {
838-
let mut ret = LinkedList::new();
839-
ret.extend(iterator);
837+
fn from_iter<T: IntoIterator<Item=A>>(iter: T) -> LinkedList<A> {
838+
let mut ret = DList::new();
839+
ret.extend(iter);
840840
ret
841841
}
842842
}

branches/beta/src/libcollections/string.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -709,18 +709,18 @@ impl Error for FromUtf16Error {
709709

710710
#[stable(feature = "rust1", since = "1.0.0")]
711711
impl FromIterator<char> for String {
712-
fn from_iter<I:Iterator<Item=char>>(iterator: I) -> String {
712+
fn from_iter<I: IntoIterator<Item=char>>(iter: I) -> String {
713713
let mut buf = String::new();
714-
buf.extend(iterator);
714+
buf.extend(iter);
715715
buf
716716
}
717717
}
718718

719719
#[stable(feature = "rust1", since = "1.0.0")]
720720
impl<'a> FromIterator<&'a str> for String {
721-
fn from_iter<I:Iterator<Item=&'a str>>(iterator: I) -> String {
721+
fn from_iter<I: IntoIterator<Item=&'a str>>(iter: I) -> String {
722722
let mut buf = String::new();
723-
buf.extend(iterator);
723+
buf.extend(iter);
724724
buf
725725
}
726726
}

branches/beta/src/libcollections/vec.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1407,7 +1407,8 @@ impl<T> ops::DerefMut for Vec<T> {
14071407
#[stable(feature = "rust1", since = "1.0.0")]
14081408
impl<T> FromIterator<T> for Vec<T> {
14091409
#[inline]
1410-
fn from_iter<I:Iterator<Item=T>>(mut iterator: I) -> Vec<T> {
1410+
fn from_iter<I: IntoIterator<Item=T>>(iterable: I) -> Vec<T> {
1411+
let mut iterator = iterable.into_iter();
14111412
let (lower, _) = iterator.size_hint();
14121413
let mut vector = Vec::with_capacity(lower);
14131414

@@ -1651,7 +1652,7 @@ pub type CowVec<'a, T> = Cow<'a, Vec<T>, [T]>;
16511652

16521653
#[unstable(feature = "collections")]
16531654
impl<'a, T> FromIterator<T> for CowVec<'a, T> where T: Clone {
1654-
fn from_iter<I: Iterator<Item=T>>(it: I) -> CowVec<'a, T> {
1655+
fn from_iter<I: IntoIterator<Item=T>>(it: I) -> CowVec<'a, T> {
16551656
Cow::Owned(FromIterator::from_iter(it))
16561657
}
16571658
}

branches/beta/src/libcollections/vec_deque.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1701,7 +1701,8 @@ impl<A> IndexMut<usize> for VecDeque<A> {
17011701

17021702
#[stable(feature = "rust1", since = "1.0.0")]
17031703
impl<A> FromIterator<A> for VecDeque<A> {
1704-
fn from_iter<T: Iterator<Item=A>>(iterator: T) -> VecDeque<A> {
1704+
fn from_iter<T: IntoIterator<Item=A>>(iterable: T) -> VecDeque<A> {
1705+
let iterator = iterable.into_iter();
17051706
let (lower, _) = iterator.size_hint();
17061707
let mut deq = VecDeque::with_capacity(lower);
17071708
deq.extend(iterator);

branches/beta/src/libcollections/vec_map.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,7 @@ impl<V: fmt::Debug> fmt::Debug for VecMap<V> {
661661

662662
#[stable(feature = "rust1", since = "1.0.0")]
663663
impl<V> FromIterator<(usize, V)> for VecMap<V> {
664-
fn from_iter<Iter: Iterator<Item=(usize, V)>>(iter: Iter) -> VecMap<V> {
664+
fn from_iter<I: IntoIterator<Item=(usize, V)>>(iter: I) -> VecMap<V> {
665665
let mut map = VecMap::new();
666666
map.extend(iter);
667667
map

branches/beta/src/libcore/iter.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,9 @@ impl<'a, I: Iterator + ?Sized> Iterator for &'a mut I {
113113
#[rustc_on_unimplemented="a collection of type `{Self}` cannot be \
114114
built from an iterator over elements of type `{A}`"]
115115
pub trait FromIterator<A> {
116-
/// Build a container with elements from an external iterator.
116+
/// Build a container with elements from something iterable.
117117
#[stable(feature = "rust1", since = "1.0.0")]
118-
fn from_iter<T: Iterator<Item=A>>(iterator: T) -> Self;
118+
fn from_iter<T: IntoIterator<Item=A>>(iterator: T) -> Self;
119119
}
120120

121121
/// Conversion into an `Iterator`

branches/beta/src/libcore/option.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ use clone::Clone;
149149
use cmp::{Eq, Ord};
150150
use default::Default;
151151
use iter::{ExactSizeIterator};
152-
use iter::{Iterator, IteratorExt, DoubleEndedIterator, FromIterator};
152+
use iter::{Iterator, IteratorExt, DoubleEndedIterator, FromIterator, IntoIterator};
153153
use mem;
154154
use ops::{Deref, FnOnce};
155155
use result::Result::{Ok, Err};
@@ -909,7 +909,7 @@ impl<A, V: FromIterator<A>> FromIterator<Option<A>> for Option<V> {
909909
/// ```
910910
#[inline]
911911
#[stable(feature = "rust1", since = "1.0.0")]
912-
fn from_iter<I: Iterator<Item=Option<A>>>(iter: I) -> Option<V> {
912+
fn from_iter<I: IntoIterator<Item=Option<A>>>(iter: I) -> Option<V> {
913913
// FIXME(#11084): This could be replaced with Iterator::scan when this
914914
// performance bug is closed.
915915

@@ -934,7 +934,7 @@ impl<A, V: FromIterator<A>> FromIterator<Option<A>> for Option<V> {
934934
}
935935
}
936936

937-
let mut adapter = Adapter { iter: iter, found_none: false };
937+
let mut adapter = Adapter { iter: iter.into_iter(), found_none: false };
938938
let v: V = FromIterator::from_iter(adapter.by_ref());
939939

940940
if adapter.found_none {

branches/beta/src/libcore/result.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,8 @@ use self::Result::{Ok, Err};
230230

231231
use clone::Clone;
232232
use fmt;
233-
use iter::{Iterator, IteratorExt, DoubleEndedIterator, FromIterator, ExactSizeIterator};
233+
use iter::{Iterator, IteratorExt, DoubleEndedIterator,
234+
FromIterator, ExactSizeIterator, IntoIterator};
234235
use ops::{FnMut, FnOnce};
235236
use option::Option::{self, None, Some};
236237
use slice::AsSlice;
@@ -906,7 +907,7 @@ impl<A, E, V: FromIterator<A>> FromIterator<Result<A, E>> for Result<V, E> {
906907
/// assert!(res == Ok(vec!(2, 3)));
907908
/// ```
908909
#[inline]
909-
fn from_iter<I: Iterator<Item=Result<A, E>>>(iter: I) -> Result<V, E> {
910+
fn from_iter<I: IntoIterator<Item=Result<A, E>>>(iter: I) -> Result<V, E> {
910911
// FIXME(#11084): This could be replaced with Iterator::scan when this
911912
// performance bug is closed.
912913

@@ -931,7 +932,7 @@ impl<A, E, V: FromIterator<A>> FromIterator<Result<A, E>> for Result<V, E> {
931932
}
932933
}
933934

934-
let mut adapter = Adapter { iter: iter, err: None };
935+
let mut adapter = Adapter { iter: iter.into_iter(), err: None };
935936
let v: V = FromIterator::from_iter(adapter.by_ref());
936937

937938
match adapter.err {

branches/beta/src/librustc/middle/check_match.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use middle::ty::*;
2525
use middle::ty;
2626
use std::cmp::Ordering;
2727
use std::fmt;
28-
use std::iter::{range_inclusive, AdditiveIterator, FromIterator, repeat};
28+
use std::iter::{range_inclusive, AdditiveIterator, FromIterator, IntoIterator, repeat};
2929
use std::num::Float;
3030
use std::slice;
3131
use syntax::ast::{self, DUMMY_NODE_ID, NodeId, Pat};
@@ -94,8 +94,8 @@ impl<'a> fmt::Debug for Matrix<'a> {
9494
}
9595

9696
impl<'a> FromIterator<Vec<&'a Pat>> for Matrix<'a> {
97-
fn from_iter<T: Iterator<Item=Vec<&'a Pat>>>(iterator: T) -> Matrix<'a> {
98-
Matrix(iterator.collect())
97+
fn from_iter<T: IntoIterator<Item=Vec<&'a Pat>>>(iter: T) -> Matrix<'a> {
98+
Matrix(iter.into_iter().collect())
9999
}
100100
}
101101

branches/beta/src/libstd/collections/hash/map.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1555,7 +1555,8 @@ impl<K, V, S, H> FromIterator<(K, V)> for HashMap<K, V, S>
15551555
S: HashState<Hasher=H> + Default,
15561556
H: hash::Hasher<Output=u64>
15571557
{
1558-
fn from_iter<T: Iterator<Item=(K, V)>>(iter: T) -> HashMap<K, V, S> {
1558+
fn from_iter<T: IntoIterator<Item=(K, V)>>(iterable: T) -> HashMap<K, V, S> {
1559+
let iter = iterable.into_iter();
15591560
let lower = iter.size_hint().0;
15601561
let mut map = HashMap::with_capacity_and_hash_state(lower,
15611562
Default::default());

branches/beta/src/libstd/collections/hash/set.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,8 @@ impl<T, S, H> FromIterator<T> for HashSet<T, S>
622622
S: HashState<Hasher=H> + Default,
623623
H: hash::Hasher<Output=u64>
624624
{
625-
fn from_iter<I: Iterator<Item=T>>(iter: I) -> HashSet<T, S> {
625+
fn from_iter<I: IntoIterator<Item=T>>(iterable: I) -> HashSet<T, S> {
626+
let iter = iterable.into_iter();
626627
let lower = iter.size_hint().0;
627628
let mut set = HashSet::with_capacity_and_hash_state(lower, Default::default());
628629
set.extend(iter);

branches/beta/src/libstd/path.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -953,7 +953,7 @@ impl PathBuf {
953953
}
954954

955955
impl<'a, P: ?Sized + 'a> iter::FromIterator<&'a P> for PathBuf where P: AsPath {
956-
fn from_iter<I: Iterator<Item = &'a P>>(iter: I) -> PathBuf {
956+
fn from_iter<I: IntoIterator<Item = &'a P>>(iter: I) -> PathBuf {
957957
let mut buf = PathBuf::new("");
958958
buf.extend(iter);
959959
buf

branches/beta/src/libstd/sys/common/wtf8.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,9 +356,9 @@ impl Wtf8Buf {
356356
/// This replaces surrogate code point pairs with supplementary code points,
357357
/// like concatenating ill-formed UTF-16 strings effectively would.
358358
impl FromIterator<CodePoint> for Wtf8Buf {
359-
fn from_iter<T: Iterator<Item=CodePoint>>(iterator: T) -> Wtf8Buf {
359+
fn from_iter<T: IntoIterator<Item=CodePoint>>(iter: T) -> Wtf8Buf {
360360
let mut string = Wtf8Buf::new();
361-
string.extend(iterator);
361+
string.extend(iter);
362362
string
363363
}
364364
}

branches/beta/src/libsyntax/owned_slice.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
use std::default::Default;
1212
use std::fmt;
13-
use std::iter::FromIterator;
13+
use std::iter::{IntoIterator, FromIterator};
1414
use std::ops::Deref;
1515
use std::vec;
1616
use serialize::{Encodable, Decodable, Encoder, Decoder};
@@ -77,8 +77,8 @@ impl<T: Clone> Clone for OwnedSlice<T> {
7777
}
7878

7979
impl<T> FromIterator<T> for OwnedSlice<T> {
80-
fn from_iter<I: Iterator<Item=T>>(iter: I) -> OwnedSlice<T> {
81-
OwnedSlice::from_vec(iter.collect())
80+
fn from_iter<I: IntoIterator<Item=T>>(iter: I) -> OwnedSlice<T> {
81+
OwnedSlice::from_vec(iter.into_iter().collect())
8282
}
8383
}
8484

branches/beta/src/libsyntax/util/small_vector.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ enum SmallVectorRepr<T> {
3030
}
3131

3232
impl<T> FromIterator<T> for SmallVector<T> {
33-
fn from_iter<I: Iterator<Item=T>>(iter: I) -> SmallVector<T> {
33+
fn from_iter<I: IntoIterator<Item=T>>(iter: I) -> SmallVector<T> {
3434
let mut v = SmallVector::zero();
3535
v.extend(iter);
3636
v

0 commit comments

Comments
 (0)