diff options
| author | bors <bors@rust-lang.org> | 2014-10-02 23:42:31 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-10-02 23:42:31 +0000 |
| commit | d0af3feebb57bc58c52de69ab51f92dc7082500b (patch) | |
| tree | d39de6be5866c0f0f37f9f3219b8217c873d8b52 /src/libcoretest | |
| parent | b2d4eb186e99b66051be9089f836c66a558dd995 (diff) | |
| parent | d2ea0315e09cbd495a67c9e3d5053b57e2b5a8b7 (diff) | |
| download | rust-d0af3feebb57bc58c52de69ab51f92dc7082500b.tar.gz rust-d0af3feebb57bc58c52de69ab51f92dc7082500b.zip | |
auto merge of #17715 : aturon/rust/revert-slice-ops-libs, r=alexcrichton
This PR reverts https://github.com/rust-lang/rust/pull/17620, which caused a significant regression for slices. As discussed with @alexcrichton, all of the public-facing changes of the earlier PR need to be rolled back, and it's not clear that we should move the libraries over to this new notation yet anyway (especially given its feature-gated status). Closes #17710
Diffstat (limited to 'src/libcoretest')
| -rw-r--r-- | src/libcoretest/char.rs | 4 | ||||
| -rw-r--r-- | src/libcoretest/iter.rs | 51 | ||||
| -rw-r--r-- | src/libcoretest/lib.rs | 2 |
3 files changed, 28 insertions, 29 deletions
diff --git a/src/libcoretest/char.rs b/src/libcoretest/char.rs index 9628d7950b5..8c3f4706a3c 100644 --- a/src/libcoretest/char.rs +++ b/src/libcoretest/char.rs @@ -174,7 +174,7 @@ fn test_encode_utf8() { fn check(input: char, expect: &[u8]) { let mut buf = [0u8, ..4]; let n = input.encode_utf8(buf.as_mut_slice()).unwrap_or(0); - assert_eq!(buf[..n], expect); + assert_eq!(buf.slice_to(n), expect); } check('x', [0x78]); @@ -188,7 +188,7 @@ fn test_encode_utf16() { fn check(input: char, expect: &[u16]) { let mut buf = [0u16, ..2]; let n = input.encode_utf16(buf.as_mut_slice()).unwrap_or(0); - assert_eq!(buf[..n], expect); + assert_eq!(buf.slice_to(n), expect); } check('x', [0x0078]); diff --git a/src/libcoretest/iter.rs b/src/libcoretest/iter.rs index e84c8947967..1aaea192162 100644 --- a/src/libcoretest/iter.rs +++ b/src/libcoretest/iter.rs @@ -13,7 +13,6 @@ use core::iter::order::*; use core::uint; use core::cmp; use core::num; -use core::ops::Slice; use test::Bencher; @@ -229,7 +228,7 @@ fn test_inspect() { .collect::<Vec<uint>>(); assert_eq!(n, xs.len()); - assert_eq!(xs[], ys[]); + assert_eq!(xs.as_slice(), ys.as_slice()); } #[test] @@ -269,7 +268,7 @@ fn test_cycle() { #[test] fn test_iterator_nth() { - let v: &[_] = &[0i, 1, 2, 3, 4]; + let v = &[0i, 1, 2, 3, 4]; for i in range(0u, v.len()) { assert_eq!(v.iter().nth(i).unwrap(), &v[i]); } @@ -278,55 +277,55 @@ fn test_iterator_nth() { #[test] fn test_iterator_last() { - let v: &[_] = &[0i, 1, 2, 3, 4]; + let v = &[0i, 1, 2, 3, 4]; assert_eq!(v.iter().last().unwrap(), &4); - assert_eq!(v[0..1].iter().last().unwrap(), &0); + assert_eq!(v.slice(0, 1).iter().last().unwrap(), &0); } #[test] fn test_iterator_len() { - let v: &[_] = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - assert_eq!(v[0..4].iter().count(), 4); - assert_eq!(v[0..10].iter().count(), 10); - assert_eq!(v[0..0].iter().count(), 0); + let v = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + assert_eq!(v.slice(0, 4).iter().count(), 4); + assert_eq!(v.slice(0, 10).iter().count(), 10); + assert_eq!(v.slice(0, 0).iter().count(), 0); } #[test] fn test_iterator_sum() { - let v: &[_] = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - assert_eq!(v[0..4].iter().map(|&x| x).sum(), 6); + let v = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + assert_eq!(v.slice(0, 4).iter().map(|&x| x).sum(), 6); assert_eq!(v.iter().map(|&x| x).sum(), 55); - assert_eq!(v[0..0].iter().map(|&x| x).sum(), 0); + assert_eq!(v.slice(0, 0).iter().map(|&x| x).sum(), 0); } #[test] fn test_iterator_product() { - let v: &[_] = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - assert_eq!(v[0..4].iter().map(|&x| x).product(), 0); - assert_eq!(v[1..5].iter().map(|&x| x).product(), 24); - assert_eq!(v[0..0].iter().map(|&x| x).product(), 1); + let v = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + assert_eq!(v.slice(0, 4).iter().map(|&x| x).product(), 0); + assert_eq!(v.slice(1, 5).iter().map(|&x| x).product(), 24); + assert_eq!(v.slice(0, 0).iter().map(|&x| x).product(), 1); } #[test] fn test_iterator_max() { - let v: &[_] = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - assert_eq!(v[0..4].iter().map(|&x| x).max(), Some(3)); + let v = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + assert_eq!(v.slice(0, 4).iter().map(|&x| x).max(), Some(3)); assert_eq!(v.iter().map(|&x| x).max(), Some(10)); - assert_eq!(v[0..0].iter().map(|&x| x).max(), None); + assert_eq!(v.slice(0, 0).iter().map(|&x| x).max(), None); } #[test] fn test_iterator_min() { - let v: &[_] = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - assert_eq!(v[0..4].iter().map(|&x| x).min(), Some(0)); + let v = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + assert_eq!(v.slice(0, 4).iter().map(|&x| x).min(), Some(0)); assert_eq!(v.iter().map(|&x| x).min(), Some(0)); - assert_eq!(v[0..0].iter().map(|&x| x).min(), None); + assert_eq!(v.slice(0, 0).iter().map(|&x| x).min(), None); } #[test] fn test_iterator_size_hint() { let c = count(0i, 1); - let v: &[_] = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9]; + let v = &[0i, 1, 2, 3, 4, 5, 6, 7, 8, 9]; let v2 = &[10i, 11, 12]; let vi = v.iter(); @@ -373,7 +372,7 @@ fn test_all() { assert!(v.iter().all(|&x| x < 10)); assert!(!v.iter().all(|&x| x % 2 == 0)); assert!(!v.iter().all(|&x| x > 100)); - assert!(v.slice(&0, &0).iter().all(|_| fail!())); + assert!(v.slice(0, 0).iter().all(|_| fail!())); } #[test] @@ -382,7 +381,7 @@ fn test_any() { assert!(v.iter().any(|&x| x < 10)); assert!(v.iter().any(|&x| x % 2 == 0)); assert!(!v.iter().any(|&x| x > 100)); - assert!(!v.slice(&0, &0).iter().any(|_| fail!())); + assert!(!v.slice(0, 0).iter().any(|_| fail!())); } #[test] @@ -567,7 +566,7 @@ fn check_randacc_iter<A: PartialEq, T: Clone + RandomAccessIterator<A>>(a: T, le fn test_double_ended_flat_map() { let u = [0u,1]; let v = [5u,6,7,8]; - let mut it = u.iter().flat_map(|x| v[*x..v.len()].iter()); + let mut it = u.iter().flat_map(|x| v.slice(*x, v.len()).iter()); assert_eq!(it.next_back().unwrap(), &8); assert_eq!(it.next().unwrap(), &5); assert_eq!(it.next_back().unwrap(), &7); diff --git a/src/libcoretest/lib.rs b/src/libcoretest/lib.rs index 5f31ed35f1b..7866d2f4a11 100644 --- a/src/libcoretest/lib.rs +++ b/src/libcoretest/lib.rs @@ -7,7 +7,7 @@ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs, unsafe_destructor, macro_rules, slicing_syntax)] +#![feature(globs, unsafe_destructor, macro_rules)] extern crate core; extern crate test; |
