Skip to content

Commit b299c2b

Browse files
committed
Fallout from stabilization
1 parent a86f72d commit b299c2b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+105
-103
lines changed

src/libcollections/binary_heap.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -585,10 +585,10 @@ impl<T> DoubleEndedIterator<T> for MoveItems<T> {
585585
fn next_back(&mut self) -> Option<T> { self.iter.next_back() }
586586
}
587587

588-
impl<T> ExactSize<T> for MoveItems<T> {}
588+
impl<T> ExactSizeIterator<T> for MoveItems<T> {}
589589

590590
impl<T: Ord> FromIterator<T> for BinaryHeap<T> {
591-
fn from_iter<Iter: Iterator<T>>(mut iter: Iter) -> BinaryHeap<T> {
591+
fn from_iter<Iter: Iterator<T>>(iter: Iter) -> BinaryHeap<T> {
592592
let vec: Vec<T> = iter.collect();
593593
BinaryHeap::from_vec(vec)
594594
}

src/libcollections/bit.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ use core::prelude::*;
6868
use core::cmp;
6969
use core::default::Default;
7070
use core::fmt;
71-
use core::iter::{Chain, Enumerate, Repeat, Skip, Take};
71+
use core::iter::{Chain, Enumerate, Repeat, Skip, Take, repeat};
7272
use core::iter;
7373
use core::num::Int;
7474
use core::slice;
@@ -88,11 +88,11 @@ fn match_words <'a,'b>(a: &'a Bitv, b: &'b Bitv) -> (MatchWords<'a>, MatchWords<
8888

8989
// have to uselessly pretend to pad the longer one for type matching
9090
if a_len < b_len {
91-
(a.mask_words(0).chain(Repeat::new(0u32).enumerate().take(b_len).skip(a_len)),
92-
b.mask_words(0).chain(Repeat::new(0u32).enumerate().take(0).skip(0)))
91+
(a.mask_words(0).chain(repeat(0u32).enumerate().take(b_len).skip(a_len)),
92+
b.mask_words(0).chain(repeat(0u32).enumerate().take(0).skip(0)))
9393
} else {
94-
(a.mask_words(0).chain(Repeat::new(0u32).enumerate().take(0).skip(0)),
95-
b.mask_words(0).chain(Repeat::new(0u32).enumerate().take(a_len).skip(b_len)))
94+
(a.mask_words(0).chain(repeat(0u32).enumerate().take(0).skip(0)),
95+
b.mask_words(0).chain(repeat(0u32).enumerate().take(a_len).skip(b_len)))
9696
}
9797
}
9898

@@ -943,7 +943,7 @@ impl<'a> DoubleEndedIterator<bool> for Bits<'a> {
943943
}
944944
}
945945

946-
impl<'a> ExactSize<bool> for Bits<'a> {}
946+
impl<'a> ExactSizeIterator<bool> for Bits<'a> {}
947947

948948
impl<'a> RandomAccessIterator<bool> for Bits<'a> {
949949
#[inline]

src/libcollections/btree/map.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -863,7 +863,7 @@ impl<K, V, E, T: Traverse<E> + DoubleEndedIterator<TraversalItem<K, V, E>>>
863863
// Note that the design of these iterators permits an *arbitrary* initial pair of min and max,
864864
// making these arbitrary sub-range iterators. However the logic to construct these paths
865865
// efficiently is fairly involved, so this is a FIXME. The sub-range iterators also wouldn't be
866-
// able to accurately predict size, so those iterators can't implement ExactSize.
866+
// able to accurately predict size, so those iterators can't implement ExactSizeIterator.
867867
fn next(&mut self) -> Option<(K, V)> {
868868
loop {
869869
// We want the smallest element, so try to get the top of the left stack
@@ -963,7 +963,7 @@ impl<'a, K, V> Iterator<(&'a K, &'a V)> for Entries<'a, K, V> {
963963
impl<'a, K, V> DoubleEndedIterator<(&'a K, &'a V)> for Entries<'a, K, V> {
964964
fn next_back(&mut self) -> Option<(&'a K, &'a V)> { self.inner.next_back() }
965965
}
966-
impl<'a, K, V> ExactSize<(&'a K, &'a V)> for Entries<'a, K, V> {}
966+
impl<'a, K, V> ExactSizeIterator<(&'a K, &'a V)> for Entries<'a, K, V> {}
967967

968968

969969
impl<'a, K, V> Iterator<(&'a K, &'a mut V)> for MutEntries<'a, K, V> {
@@ -973,7 +973,7 @@ impl<'a, K, V> Iterator<(&'a K, &'a mut V)> for MutEntries<'a, K, V> {
973973
impl<'a, K, V> DoubleEndedIterator<(&'a K, &'a mut V)> for MutEntries<'a, K, V> {
974974
fn next_back(&mut self) -> Option<(&'a K, &'a mut V)> { self.inner.next_back() }
975975
}
976-
impl<'a, K, V> ExactSize<(&'a K, &'a mut V)> for MutEntries<'a, K, V> {}
976+
impl<'a, K, V> ExactSizeIterator<(&'a K, &'a mut V)> for MutEntries<'a, K, V> {}
977977

978978

979979
impl<K, V> Iterator<(K, V)> for MoveEntries<K, V> {
@@ -983,7 +983,7 @@ impl<K, V> Iterator<(K, V)> for MoveEntries<K, V> {
983983
impl<K, V> DoubleEndedIterator<(K, V)> for MoveEntries<K, V> {
984984
fn next_back(&mut self) -> Option<(K, V)> { self.inner.next_back() }
985985
}
986-
impl<K, V> ExactSize<(K, V)> for MoveEntries<K, V> {}
986+
impl<K, V> ExactSizeIterator<(K, V)> for MoveEntries<K, V> {}
987987

988988

989989

src/libcollections/dlist.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,7 @@ impl<'a, A> DoubleEndedIterator<&'a A> for Items<'a, A> {
607607
}
608608
}
609609

610-
impl<'a, A> ExactSize<&'a A> for Items<'a, A> {}
610+
impl<'a, A> ExactSizeIterator<&'a A> for Items<'a, A> {}
611611

612612
impl<'a, A> Iterator<&'a mut A> for MutItems<'a, A> {
613613
#[inline]
@@ -645,7 +645,7 @@ impl<'a, A> DoubleEndedIterator<&'a mut A> for MutItems<'a, A> {
645645
}
646646
}
647647

648-
impl<'a, A> ExactSize<&'a mut A> for MutItems<'a, A> {}
648+
impl<'a, A> ExactSizeIterator<&'a mut A> for MutItems<'a, A> {}
649649

650650
/// Allows mutating a `DList` while iterating.
651651
pub trait ListInsertion<A> {

src/libcollections/ring_buf.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -695,8 +695,7 @@ impl<'a, T> DoubleEndedIterator<&'a T> for Items<'a, T> {
695695
}
696696
}
697697

698-
699-
impl<'a, T> ExactSize<&'a T> for Items<'a, T> {}
698+
impl<'a, T> ExactSizeIterator<&'a T> for Items<'a, T> {}
700699

701700
impl<'a, T> RandomAccessIterator<&'a T> for Items<'a, T> {
702701
#[inline]
@@ -763,7 +762,7 @@ impl<'a, T> DoubleEndedIterator<&'a mut T> for MutItems<'a, T> {
763762
}
764763
}
765764

766-
impl<'a, T> ExactSize<&'a mut T> for MutItems<'a, T> {}
765+
impl<'a, T> ExactSizeIterator<&'a mut T> for MutItems<'a, T> {}
767766

768767
impl<A: PartialEq> PartialEq for RingBuf<A> {
769768
fn eq(&self, other: &RingBuf<A>) -> bool {
@@ -1322,7 +1321,7 @@ mod tests {
13221321
let u: Vec<int> = deq.iter().map(|&x| x).collect();
13231322
assert_eq!(u, v);
13241323

1325-
let mut seq = iter::count(0u, 2).take(256);
1324+
let seq = iter::count(0u, 2).take(256);
13261325
let deq: RingBuf<uint> = seq.collect();
13271326
for (i, &x) in deq.iter().enumerate() {
13281327
assert_eq!(2*i, x);

src/libcollections/slice.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ use core::cmp;
9494
use core::kinds::Sized;
9595
use core::mem::size_of;
9696
use core::mem;
97-
use core::prelude::{Clone, Greater, Iterator, Less, None, Option};
97+
use core::prelude::{Clone, Greater, Iterator, IteratorExt, Less, None, Option};
9898
use core::prelude::{Ord, Ordering, RawPtr, Some, range};
9999
use core::ptr;
100100
use core::iter::{range_step, MultiplicativeIterator};

src/libcollections/str.rs

+12-9
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ use core::cmp;
6161
use core::iter::AdditiveIterator;
6262
use core::kinds::Sized;
6363
use core::prelude::{Char, Clone, Eq, Equiv};
64-
use core::prelude::{Iterator, SlicePrelude, None, Option, Ord, Ordering};
64+
use core::prelude::{Iterator, IteratorExt, SlicePrelude, None, Option, Ord, Ordering};
6565
use core::prelude::{PartialEq, PartialOrd, Result, AsSlice, Some, Tuple2};
6666
use core::prelude::{range};
6767

@@ -794,7 +794,7 @@ mod tests {
794794
use std::cmp::{Equal, Greater, Less, Ord, PartialOrd, Equiv};
795795
use std::option::{Some, None};
796796
use std::ptr::RawPtr;
797-
use std::iter::{Iterator, DoubleEndedIterator};
797+
use std::iter::{Iterator, IteratorExt, DoubleEndedIteratorExt};
798798

799799
use super::*;
800800
use std::slice::{AsSlice, SlicePrelude};
@@ -2143,12 +2143,15 @@ mod tests {
21432143
let gr_inds = s.grapheme_indices(true).rev().collect::<Vec<(uint, &str)>>();
21442144
let b: &[_] = &[(11, "\r\n"), (6, "ö̲"), (3, "é"), (0u, "a̐")];
21452145
assert_eq!(gr_inds.as_slice(), b);
2146-
let mut gr_inds = s.grapheme_indices(true);
2147-
let e1 = gr_inds.size_hint();
2148-
assert_eq!(e1, (1, Some(13)));
2149-
let c = gr_inds.count();
2150-
assert_eq!(c, 4);
2151-
let e2 = gr_inds.size_hint();
2146+
let mut gr_inds_iter = s.grapheme_indices(true);
2147+
{
2148+
let gr_inds = gr_inds_iter.by_ref();
2149+
let e1 = gr_inds.size_hint();
2150+
assert_eq!(e1, (1, Some(13)));
2151+
let c = gr_inds.count();
2152+
assert_eq!(c, 4);
2153+
}
2154+
let e2 = gr_inds_iter.size_hint();
21522155
assert_eq!(e2, (0, Some(0)));
21532156

21542157
// make sure the reverse iterator does the right thing with "\n" at beginning of string
@@ -2285,7 +2288,7 @@ mod bench {
22852288
use test::Bencher;
22862289
use test::black_box;
22872290
use super::*;
2288-
use std::iter::{Iterator, DoubleEndedIterator};
2291+
use std::iter::{IteratorExt, DoubleEndedIteratorExt};
22892292
use std::str::StrPrelude;
22902293
use std::slice::SlicePrelude;
22912294

src/libcollections/vec.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1319,7 +1319,7 @@ impl<T> DoubleEndedIterator<T> for MoveItems<T> {
13191319
}
13201320
}
13211321

1322-
impl<T> ExactSize<T> for MoveItems<T> {}
1322+
impl<T> ExactSizeIterator<T> for MoveItems<T> {}
13231323

13241324
#[unsafe_destructor]
13251325
impl<T> Drop for MoveItems<T> {

src/libcore/fmt/float.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ pub use self::SignFormat::*;
1717
use char;
1818
use char::Char;
1919
use fmt;
20-
use iter::{range, DoubleEndedIterator};
20+
use iter::{range, DoubleEndedIteratorExt};
2121
use num::{Float, FPNaN, FPInfinite, ToPrimitive};
2222
use num::cast;
2323
use result::Ok;

src/libcore/fmt/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
use any;
1616
use cell::{Cell, Ref, RefMut};
17-
use iter::{Iterator, range};
17+
use iter::{Iterator, IteratorExt, range};
1818
use kinds::{Copy, Sized};
1919
use mem;
2020
use option::{Option, Some, None};

src/libcore/fmt/num.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#![allow(unsigned_negation)]
1616

1717
use fmt;
18-
use iter::DoubleEndedIterator;
18+
use iter::DoubleEndedIteratorExt;
1919
use num::{Int, cast};
2020
use slice::SlicePrelude;
2121

src/libcore/num/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use clone::Clone;
2525
use cmp::{PartialEq, Eq};
2626
use cmp::{PartialOrd, Ord};
2727
use intrinsics;
28-
use iter::Iterator;
28+
use iter::IteratorExt;
2929
use kinds::Copy;
3030
use mem::size_of;
3131
use ops::{Add, Sub, Mul, Div, Rem, Neg};

src/libcore/option.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ pub use self::Option::*;
147147

148148
use cmp::{Eq, Ord};
149149
use default::Default;
150-
use iter::{Iterator, DoubleEndedIterator, FromIterator, ExactSize};
150+
use iter::{Iterator, IteratorExt, DoubleEndedIterator, FromIterator, ExactSizeIterator};
151151
use mem;
152152
use result::{Result, Ok, Err};
153153
use slice;
@@ -797,7 +797,7 @@ impl<A> DoubleEndedIterator<A> for Item<A> {
797797
}
798798
}
799799

800-
impl<A> ExactSize<A> for Item<A> {}
800+
impl<A> ExactSizeIterator<A> for Item<A> {}
801801

802802
/////////////////////////////////////////////////////////////////////////////
803803
// FromIterator

src/libcore/prelude.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ pub use ops::{Slice, SliceMut};
3939
pub use ops::{Fn, FnMut, FnOnce};
4040

4141
// Reexported functions
42-
pub use iter::{range, repeat};
42+
pub use iter::range;
4343
pub use mem::drop;
4444
pub use str::from_str;
4545

@@ -50,9 +50,10 @@ pub use clone::Clone;
5050
pub use cmp::{PartialEq, PartialOrd, Eq, Ord};
5151
pub use cmp::{Ordering, Equiv};
5252
pub use cmp::Ordering::{Less, Equal, Greater};
53-
pub use iter::{FromIterator, Extend};
54-
pub use iter::{Iterator, DoubleEndedIterator, RandomAccessIterator, CloneableIterator};
55-
pub use iter::{OrdIterator, MutableDoubleEndedIterator, ExactSize};
53+
pub use iter::{FromIterator, Extend, IteratorExt};
54+
pub use iter::{Iterator, DoubleEndedIterator, DoubleEndedIteratorExt, RandomAccessIterator};
55+
pub use iter::{IteratorCloneExt, CloneIteratorExt};
56+
pub use iter::{IteratorOrdExt, MutableDoubleEndedIterator, ExactSizeIterator};
5657
pub use num::{ToPrimitive, FromPrimitive};
5758
pub use option::Option;
5859
pub use option::Option::{Some, None};

src/libcore/result.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ pub use self::Result::*;
235235
use std::fmt::Show;
236236
use slice;
237237
use slice::AsSlice;
238-
use iter::{Iterator, DoubleEndedIterator, FromIterator, ExactSize};
238+
use iter::{Iterator, IteratorExt, DoubleEndedIterator, FromIterator, ExactSizeIterator};
239239
use option::{None, Option, Some};
240240

241241
/// `Result` is a type that represents either success (`Ok`) or failure (`Err`).
@@ -831,7 +831,7 @@ impl<A> DoubleEndedIterator<A> for Item<A> {
831831
}
832832
}
833833

834-
impl<A> ExactSize<A> for Item<A> {}
834+
impl<A> ExactSizeIterator<A> for Item<A> {}
835835

836836
/////////////////////////////////////////////////////////////////////////////
837837
// FromIterator

src/libcore/slice.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,7 @@ impl<'a, T> Items<'a, T> {
11601160
iterator!{struct Items -> *const T, &'a T}
11611161

11621162
#[experimental = "needs review"]
1163-
impl<'a, T> ExactSize<&'a T> for Items<'a, T> {}
1163+
impl<'a, T> ExactSizeIterator<&'a T> for Items<'a, T> {}
11641164

11651165
#[experimental = "needs review"]
11661166
impl<'a, T> Clone for Items<'a, T> {
@@ -1255,7 +1255,7 @@ impl<'a, T> MutItems<'a, T> {
12551255
iterator!{struct MutItems -> *mut T, &'a mut T}
12561256

12571257
#[experimental = "needs review"]
1258-
impl<'a, T> ExactSize<&'a mut T> for MutItems<'a, T> {}
1258+
impl<'a, T> ExactSizeIterator<&'a mut T> for MutItems<'a, T> {}
12591259

12601260
/// An abstraction over the splitting iterators, so that splitn, splitn_mut etc
12611261
/// can be implemented once.

src/libcore/str.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ use char::Char;
2323
use char;
2424
use cmp::{Eq, mod};
2525
use default::Default;
26+
use iter::{Map, Iterator, IteratorExt, DoubleEndedIterator};
27+
use iter::{DoubleEndedIteratorExt, ExactSizeIterator};
2628
use iter::range;
27-
use iter::{DoubleEndedIterator, ExactSize};
28-
use iter::{Map, Iterator};
2929
use kinds::Sized;
3030
use mem;
3131
use num::Int;
@@ -1210,7 +1210,7 @@ Section: Trait implementations
12101210
#[allow(missing_docs)]
12111211
pub mod traits {
12121212
use cmp::{Ord, Ordering, Less, Equal, Greater, PartialEq, PartialOrd, Equiv, Eq};
1213-
use iter::Iterator;
1213+
use iter::IteratorExt;
12141214
use option::{Option, Some};
12151215
use ops;
12161216
use str::{Str, StrPrelude, eq_slice};

src/libgetopts/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -710,7 +710,7 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String {
710710

711711
let desc_sep = format!("\n{}", " ".repeat(24));
712712

713-
let mut rows = opts.iter().map(|optref| {
713+
let rows = opts.iter().map(|optref| {
714714
let OptGroup{short_name,
715715
long_name,
716716
hint,

src/librand/isaac.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
//! The ISAAC random number generator.
1212
1313
use core::prelude::*;
14-
use core::iter::{range_step, Repeat};
1514
use core::slice;
15+
use core::iter::{range_step, repeat};
1616

1717
use {Rng, SeedableRng, Rand};
1818

@@ -205,7 +205,7 @@ impl<'a> SeedableRng<&'a [u32]> for IsaacRng {
205205
fn reseed(&mut self, seed: &'a [u32]) {
206206
// make the seed into [seed[0], seed[1], ..., seed[seed.len()
207207
// - 1], 0, 0, ...], to fill rng.rsl.
208-
let seed_iter = seed.iter().map(|&x| x).chain(Repeat::new(0u32));
208+
let seed_iter = seed.iter().map(|&x| x).chain(repeat(0u32));
209209

210210
for (rsl_elem, seed_elem) in self.rsl.iter_mut().zip(seed_iter) {
211211
*rsl_elem = seed_elem;
@@ -438,7 +438,7 @@ impl<'a> SeedableRng<&'a [u64]> for Isaac64Rng {
438438
fn reseed(&mut self, seed: &'a [u64]) {
439439
// make the seed into [seed[0], seed[1], ..., seed[seed.len()
440440
// - 1], 0, 0, ...], to fill rng.rsl.
441-
let seed_iter = seed.iter().map(|&x| x).chain(Repeat::new(0u64));
441+
let seed_iter = seed.iter().map(|&x| x).chain(repeat(0u64));
442442

443443
for (rsl_elem, seed_elem) in self.rsl.iter_mut().zip(seed_iter) {
444444
*rsl_elem = seed_elem;

src/librustc/middle/cfg/construct.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,6 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
154154
pats: I,
155155
pred: CFGIndex) -> CFGIndex {
156156
//! Handles case where all of the patterns must match.
157-
let mut pats = pats;
158157
pats.fold(pred, |pred, pat| self.pat(&**pat, pred))
159158
}
160159

@@ -527,7 +526,7 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
527526
}
528527

529528
fn exprs<'a, I: Iterator<&'a ast::Expr>>(&mut self,
530-
mut exprs: I,
529+
exprs: I,
531530
pred: CFGIndex) -> CFGIndex {
532531
//! Constructs graph for `exprs` evaluated in order
533532
exprs.fold(pred, |p, e| self.expr(e, p))

src/librustc/middle/check_match.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ impl<'a> fmt::Show for Matrix<'a> {
9393
}
9494

9595
impl<'a> FromIterator<Vec<&'a Pat>> for Matrix<'a> {
96-
fn from_iter<T: Iterator<Vec<&'a Pat>>>(mut iterator: T) -> Matrix<'a> {
96+
fn from_iter<T: Iterator<Vec<&'a Pat>>>(iterator: T) -> Matrix<'a> {
9797
Matrix(iterator.collect())
9898
}
9999
}
@@ -1091,4 +1091,3 @@ impl<'a, 'b, 'tcx, 'v> Visitor<'v> for AtBindingPatternVisitor<'a, 'b, 'tcx> {
10911091
}
10921092
}
10931093
}
1094-

0 commit comments

Comments
 (0)