diff options
| author | bors <bors@rust-lang.org> | 2017-06-02 22:19:08 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-06-02 22:19:08 +0000 |
| commit | bb907adbbd1727938245a67db1c92be7e4dec3e6 (patch) | |
| tree | a6229fb68940fbe7bd2c7fae09b92fa10500c81d /src/libcore/tests | |
| parent | 107bd67ef7fb3e8027d7234d687cdd27c3efaa0d (diff) | |
| parent | e05f1c12901e26f75a92f441f636942a8a3bf7c1 (diff) | |
| download | rust-bb907adbbd1727938245a67db1c92be7e4dec3e6.tar.gz rust-bb907adbbd1727938245a67db1c92be7e4dec3e6.zip | |
Auto merge of #42381 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 10 pull requests - Successful merges: #41981, #42225, #42310, #42319, #42335, #42343, #42355, #42360, #42370, #42372 - Failed merges:
Diffstat (limited to 'src/libcore/tests')
| -rw-r--r-- | src/libcore/tests/iter.rs | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/src/libcore/tests/iter.rs b/src/libcore/tests/iter.rs index 44d5936c63e..4f9951cd153 100644 --- a/src/libcore/tests/iter.rs +++ b/src/libcore/tests/iter.rs @@ -12,6 +12,15 @@ use core::iter::*; use core::{i8, i16, isize}; use core::usize; +// FIXME #27741: This is here to simplify calling Iterator::step_by. Remove +// once Range::step_by is completely gone (not just deprecated). +trait IterEx: Sized { + fn iter_step_by(self, n: usize) -> StepBy<Self>; +} +impl<I:Iterator> IterEx for I { + fn iter_step_by(self, n: usize) -> StepBy<Self> { self.step_by(n) } +} + #[test] fn test_lt() { let empty: [isize; 0] = []; @@ -67,7 +76,7 @@ fn test_multi_iter() { #[test] fn test_counter_from_iter() { - let it = (0..).step_by(5).take(10); + let it = (0..).iter_step_by(5).take(10); let xs: Vec<isize> = FromIterator::from_iter(it); assert_eq!(xs, [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]); } @@ -85,7 +94,7 @@ fn test_iterator_chain() { } assert_eq!(i, expected.len()); - let ys = (30..).step_by(10).take(4); + let ys = (30..).iter_step_by(10).take(4); let it = xs.iter().cloned().chain(ys); let mut i = 0; for x in it { @@ -147,15 +156,13 @@ fn test_iterator_chain_find() { #[test] fn test_iterator_step_by() { // Identity - // Replace with (0..).step_by(1) after Range::step_by gets removed - let mut it = Iterator::step_by((0..), 1).take(3); + let mut it = (0..).iter_step_by(1).take(3); assert_eq!(it.next(), Some(0)); assert_eq!(it.next(), Some(1)); assert_eq!(it.next(), Some(2)); assert_eq!(it.next(), None); - // Replace with (0..).step_by(3) after Range::step_by gets removed - let mut it = Iterator::step_by((0..), 3).take(4); + let mut it = (0..).iter_step_by(3).take(4); assert_eq!(it.next(), Some(0)); assert_eq!(it.next(), Some(3)); assert_eq!(it.next(), Some(6)); @@ -166,8 +173,7 @@ fn test_iterator_step_by() { #[test] #[should_panic] fn test_iterator_step_by_zero() { - // Replace with (0..).step_by(0) after Range::step_by gets removed - let mut it = Iterator::step_by((0..), 0); + let mut it = (0..).iter_step_by(0); it.next(); } @@ -246,7 +252,7 @@ fn test_iterator_step_by_size_hint() { #[test] fn test_filter_map() { - let it = (0..).step_by(1).take(10) + let it = (0..).iter_step_by(1).take(10) .filter_map(|x| if x % 2 == 0 { Some(x*x) } else { None }); assert_eq!(it.collect::<Vec<usize>>(), [0*0, 2*2, 4*4, 6*6, 8*8]); } @@ -648,7 +654,7 @@ fn test_iterator_scan() { fn test_iterator_flat_map() { let xs = [0, 3, 6]; let ys = [0, 1, 2, 3, 4, 5, 6, 7, 8]; - let it = xs.iter().flat_map(|&x| (x..).step_by(1).take(3)); + let it = xs.iter().flat_map(|&x| (x..).iter_step_by(1).take(3)); let mut i = 0; for x in it { assert_eq!(x, ys[i]); @@ -674,13 +680,13 @@ fn test_inspect() { #[test] fn test_cycle() { let cycle_len = 3; - let it = (0..).step_by(1).take(cycle_len).cycle(); + let it = (0..).iter_step_by(1).take(cycle_len).cycle(); assert_eq!(it.size_hint(), (usize::MAX, None)); for (i, x) in it.take(100).enumerate() { assert_eq!(i % cycle_len, x); } - let mut it = (0..).step_by(1).take(0).cycle(); + let mut it = (0..).iter_step_by(1).take(0).cycle(); assert_eq!(it.size_hint(), (0, Some(0))); assert_eq!(it.next(), None); } @@ -759,7 +765,7 @@ fn test_iterator_min() { #[test] fn test_iterator_size_hint() { - let c = (0..).step_by(1); + let c = (0..).iter_step_by(1); let v: &[_] = &[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; let v2 = &[10, 11, 12]; let vi = v.iter(); @@ -1081,6 +1087,8 @@ fn test_range() { #[test] fn test_range_step() { + #![allow(deprecated)] + assert_eq!((0..20).step_by(5).collect::<Vec<isize>>(), [0, 5, 10, 15]); assert_eq!((20..0).step_by(-5).collect::<Vec<isize>>(), [20, 15, 10, 5]); assert_eq!((20..0).step_by(-6).collect::<Vec<isize>>(), [20, 14, 8, 2]); |
