From 77ed4974569fbe71c0ba76327b5e2a34a515ed73 Mon Sep 17 00:00:00 2001 From: Nick Cameron Date: Sat, 3 Jan 2015 13:34:13 +1300 Subject: [PATCH] Tests --- src/test/bench/shootout-fasta-redux.rs | 4 +-- src/test/bench/shootout-k-nucleotide.rs | 4 +-- .../borrowck-array-double-move.rs | 2 +- .../borrowck-vec-pattern-move-tail.rs | 2 +- .../packed-struct-generic-transmute.rs | 2 +- src/test/compile-fail/slice-1.rs | 6 ++-- src/test/compile-fail/slice-2.rs | 8 ++--- src/test/compile-fail/slice-borrow.rs | 2 +- src/test/compile-fail/slice-mut-2.rs | 2 +- src/test/compile-fail/slice-mut.rs | 2 +- src/test/debuginfo/vec-slices.rs | 2 +- src/test/run-pass/auto-encode.rs | 2 +- .../run-pass/deriving-encodable-decodable.rs | 2 +- src/test/run-pass/issue-8898.rs | 8 ++--- src/test/run-pass/repeated-vector-syntax.rs | 4 +-- src/test/run-pass/slice-2.rs | 32 +++++++++---------- src/test/run-pass/slice.rs | 19 +++++------ 17 files changed, 52 insertions(+), 51 deletions(-) diff --git a/src/test/bench/shootout-fasta-redux.rs b/src/test/bench/shootout-fasta-redux.rs index 7109dc7948ed..9a6152dc13c9 100644 --- a/src/test/bench/shootout-fasta-redux.rs +++ b/src/test/bench/shootout-fasta-redux.rs @@ -130,7 +130,7 @@ impl<'a, W: Writer> RepeatFasta<'a, W> { copy_memory(buf.as_mut_slice(), alu); let buf_len = buf.len(); copy_memory(buf.slice_mut(alu_len, buf_len), - alu.index(&(0..LINE_LEN))); + &alu[0..LINE_LEN]); let mut pos = 0; let mut bytes; @@ -206,7 +206,7 @@ impl<'a, W: Writer> RandomFasta<'a, W> { for i in range(0u, chars_left) { buf[i] = self.nextc(); } - self.out.write(buf.index(&(0..chars_left))) + self.out.write(&buf[0..chars_left]) } } diff --git a/src/test/bench/shootout-k-nucleotide.rs b/src/test/bench/shootout-k-nucleotide.rs index 65127868b878..4f71ea8cbe99 100644 --- a/src/test/bench/shootout-k-nucleotide.rs +++ b/src/test/bench/shootout-k-nucleotide.rs @@ -247,14 +247,14 @@ fn generate_frequencies(mut input: &[u8], frame: uint) -> Table { // Pull first frame. for _ in range(0, frame) { code = code.push_char(input[0]); - input = input.index(&(1..)); + input = &input[1..]; } frequencies.lookup(code, BumpCallback); while input.len() != 0 && input[0] != ('>' as u8) { code = code.rotate(input[0], frame); frequencies.lookup(code, BumpCallback); - input = input.index(&(1..)); + input = &input[1..]; } frequencies } diff --git a/src/test/compile-fail/borrowck-array-double-move.rs b/src/test/compile-fail/borrowck-array-double-move.rs index 79a6dd005a7a..c872d0dc4b9c 100644 --- a/src/test/compile-fail/borrowck-array-double-move.rs +++ b/src/test/compile-fail/borrowck-array-double-move.rs @@ -12,7 +12,7 @@ fn f() { let mut a = [box 0i, box 1i]; drop(a[0]); a[1] = box 2i; - drop(a[0]); //~ ERROR use of moved value: `a.index(&(..))` + drop(a[0]); //~ ERROR use of moved value: `a[..]` } fn main() { diff --git a/src/test/compile-fail/borrowck-vec-pattern-move-tail.rs b/src/test/compile-fail/borrowck-vec-pattern-move-tail.rs index b328ea722a09..cb8762f44fb7 100644 --- a/src/test/compile-fail/borrowck-vec-pattern-move-tail.rs +++ b/src/test/compile-fail/borrowck-vec-pattern-move-tail.rs @@ -14,6 +14,6 @@ fn main() { [1, 2, tail..] => tail, _ => unreachable!() }; - a[0] = 0; //~ ERROR cannot assign to `a.index(&(..))` because it is borrowed + a[0] = 0; //~ ERROR cannot assign to `a[..]` because it is borrowed t[0]; } diff --git a/src/test/compile-fail/packed-struct-generic-transmute.rs b/src/test/compile-fail/packed-struct-generic-transmute.rs index 0d8631788a9e..38177d076455 100644 --- a/src/test/compile-fail/packed-struct-generic-transmute.rs +++ b/src/test/compile-fail/packed-struct-generic-transmute.rs @@ -34,6 +34,6 @@ fn main() { let foo = Foo { bar: [1u8, 2, 3, 4, 5], baz: 10i32 }; unsafe { let oof: Oof<[u8; 5], i32> = mem::transmute(foo); - println!("{} {}", oof.rab.index(&FullRange), oof.zab); + println!("{} {}", &oof.rab[], oof.zab); } } diff --git a/src/test/compile-fail/slice-1.rs b/src/test/compile-fail/slice-1.rs index 26281c2e9075..903760caf1a1 100644 --- a/src/test/compile-fail/slice-1.rs +++ b/src/test/compile-fail/slice-1.rs @@ -8,12 +8,12 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// Test slicing expr.index(&(..)) is an error and gives a helpful error message. +// Test slicing expr[..] is an error and gives a helpful error message. struct Foo; fn main() { let x = Foo; - x.index(&(..)); //~ ERROR incorrect slicing expression: `[..]` - //~^ NOTE use `expr.index(&FullRange)` to construct a slice of the whole of expr + &x[..]; //~ ERROR incorrect slicing expression: `[..]` + //~^ NOTE use `&expr[]` to construct a slice of the whole of expr } diff --git a/src/test/compile-fail/slice-2.rs b/src/test/compile-fail/slice-2.rs index 1e850d6307eb..9ee700225456 100644 --- a/src/test/compile-fail/slice-2.rs +++ b/src/test/compile-fail/slice-2.rs @@ -16,8 +16,8 @@ struct Foo; fn main() { let x = Foo; - x.index(&FullRange); //~ ERROR cannot take a slice of a value with type `Foo` - x.index(&(Foo..)); //~ ERROR cannot take a slice of a value with type `Foo` - x.index(&(0..Foo)); //~ ERROR cannot take a slice of a value with type `Foo` - x.index(&(Foo..Foo)); //~ ERROR cannot take a slice of a value with type `Foo` + &x[]; //~ ERROR cannot take a slice of a value with type `Foo` + &x[Foo..]; //~ ERROR cannot take a slice of a value with type `Foo` + &x[0..Foo]; //~ ERROR cannot take a slice of a value with type `Foo` + &x[Foo..Foo]; //~ ERROR cannot take a slice of a value with type `Foo` } diff --git a/src/test/compile-fail/slice-borrow.rs b/src/test/compile-fail/slice-borrow.rs index 7839013ee222..aab187f97515 100644 --- a/src/test/compile-fail/slice-borrow.rs +++ b/src/test/compile-fail/slice-borrow.rs @@ -16,6 +16,6 @@ fn main() { let y; { let x: &[int] = &[1, 2, 3, 4, 5]; //~ ERROR borrowed value does not live long enough - y = x.index(&(1..)); + y = &x[1..]; } } diff --git a/src/test/compile-fail/slice-mut-2.rs b/src/test/compile-fail/slice-mut-2.rs index b7d7ea67f067..b34c9a49268b 100644 --- a/src/test/compile-fail/slice-mut-2.rs +++ b/src/test/compile-fail/slice-mut-2.rs @@ -16,5 +16,5 @@ fn main() { let x: &[int] = &[1, 2, 3, 4, 5]; // Can't mutably slice an immutable slice let slice: &mut [int] = &mut [0, 1]; - x.index(&(2..4)) = slice; //~ ERROR cannot borrow + &mut x[2..4] = slice; //~ ERROR cannot borrow } diff --git a/src/test/compile-fail/slice-mut.rs b/src/test/compile-fail/slice-mut.rs index 3d621580f5d4..e7353dfbcd0e 100644 --- a/src/test/compile-fail/slice-mut.rs +++ b/src/test/compile-fail/slice-mut.rs @@ -15,5 +15,5 @@ fn main() { let x: &[int] = &[1, 2, 3, 4, 5]; // Immutable slices are not mutable. - let y: &mut[_] = x.index(&(2..4)); //~ ERROR cannot borrow immutable dereference of `&`-pointer as mutabl + let y: &mut[_] = &x[2..4]; //~ ERROR cannot borrow immutable dereference of `&`-pointer as mutabl } diff --git a/src/test/debuginfo/vec-slices.rs b/src/test/debuginfo/vec-slices.rs index f2cb5f82a6c4..14f1dbb9d651 100644 --- a/src/test/debuginfo/vec-slices.rs +++ b/src/test/debuginfo/vec-slices.rs @@ -93,7 +93,7 @@ fn main() { let empty: &[i64] = &[]; let singleton: &[i64] = &[1]; let multiple: &[i64] = &[2, 3, 4, 5]; - let slice_of_slice = multiple.index(&(1..3)); + let slice_of_slice = &multiple[1..3]; let padded_tuple: &[(i32, i16)] = &[(6, 7), (8, 9)]; diff --git a/src/test/run-pass/auto-encode.rs b/src/test/run-pass/auto-encode.rs index 6eb4bc352d19..9b030de99837 100644 --- a/src/test/run-pass/auto-encode.rs +++ b/src/test/run-pass/auto-encode.rs @@ -35,7 +35,7 @@ fn test_rbml<'a, 'b, A: let mut rbml_w = EBwriter::Encoder::new(&mut wr); a1.encode(&mut rbml_w); - let d: serialize::rbml::Doc<'a> = EBDoc::new(wr.index(&FullRange)); + let d: serialize::rbml::Doc<'a> = EBDoc::new(&wr[]); let mut decoder: EBReader::Decoder<'a> = EBreader::Decoder::new(d); let a2: A = Decodable::decode(&mut decoder); assert!(*a1 == a2); diff --git a/src/test/run-pass/deriving-encodable-decodable.rs b/src/test/run-pass/deriving-encodable-decodable.rs index 459060d349ce..01814e8eab79 100644 --- a/src/test/run-pass/deriving-encodable-decodable.rs +++ b/src/test/run-pass/deriving-encodable-decodable.rs @@ -59,7 +59,7 @@ fn roundtrip<'a, T: Rand + Eq + Encodable> + let mut w = Vec::new(); let mut e = Encoder::new(&mut w); obj.encode(&mut e); - let doc = rbml::Doc::new(@w.index(&FullRange)); + let doc = rbml::Doc::new(&w[]); let mut dec = Decoder::new(doc); let obj2 = Decodable::decode(&mut dec); assert!(obj == obj2); diff --git a/src/test/run-pass/issue-8898.rs b/src/test/run-pass/issue-8898.rs index 706f640c18d9..5b90878aa285 100644 --- a/src/test/run-pass/issue-8898.rs +++ b/src/test/run-pass/issue-8898.rs @@ -20,9 +20,9 @@ pub fn main() { let x = [(), ()]; let slice = x.index(&(0..1)); - assert_repr_eq(abc.index(&FullRange), "[1, 2, 3]".to_string()); - assert_repr_eq(tf.index(&FullRange), "[true, false]".to_string()); - assert_repr_eq(x.index(&FullRange), "[(), ()]".to_string()); + assert_repr_eq(&abc[], "[1, 2, 3]".to_string()); + assert_repr_eq(&tf[], "[true, false]".to_string()); + assert_repr_eq(&x[], "[(), ()]".to_string()); assert_repr_eq(slice, "[()]".to_string()); - assert_repr_eq(x.index(&FullRange), "[(), ()]".to_string()); + assert_repr_eq(&x[], "[(), ()]".to_string()); } diff --git a/src/test/run-pass/repeated-vector-syntax.rs b/src/test/run-pass/repeated-vector-syntax.rs index e5a617634632..e854a7326329 100644 --- a/src/test/run-pass/repeated-vector-syntax.rs +++ b/src/test/run-pass/repeated-vector-syntax.rs @@ -16,8 +16,8 @@ pub fn main() { print!("["); for xi in x.iter() { - print!("{}, ", (*xi)[]); + print!("{}, ", &xi[]); } println!("]"); - println!("{}", y.index(&FullRange)); + println!("{}", &y[]); } diff --git a/src/test/run-pass/slice-2.rs b/src/test/run-pass/slice-2.rs index 7be05b9d71e5..05f318b53c2e 100644 --- a/src/test/run-pass/slice-2.rs +++ b/src/test/run-pass/slice-2.rs @@ -15,57 +15,57 @@ fn main() { let x: &[int] = &[1, 2, 3, 4, 5]; let cmp: &[int] = &[1, 2, 3, 4, 5]; - assert!(x.index(&FullRange) == cmp); + assert!(&x[] == cmp); let cmp: &[int] = &[3, 4, 5]; - assert!(x.index(&(2..)) == cmp); + assert!(&x[2..] == cmp); let cmp: &[int] = &[1, 2, 3]; - assert!(x.index(&(0..3)) == cmp); + assert!(&x[0..3] == cmp); let cmp: &[int] = &[2, 3, 4]; - assert!(x.index(&(1..4)) == cmp); + assert!(&x[1..4] == cmp); let x: Vec = vec![1, 2, 3, 4, 5]; let cmp: &[int] = &[1, 2, 3, 4, 5]; - assert!(x.index(&FullRange) == cmp); + assert!(&x[] == cmp); let cmp: &[int] = &[3, 4, 5]; - assert!(x.index(&(2..)) == cmp); + assert!(&x[2..] == cmp); let cmp: &[int] = &[1, 2, 3]; - assert!(x.index(&(0..3)) == cmp); + assert!(&x[0..3] == cmp); let cmp: &[int] = &[2, 3, 4]; - assert!(x.index(&(1..4)) == cmp); + assert!(&x[1..4] == cmp); let x: &mut [int] = &mut [1, 2, 3, 4, 5]; { let cmp: &mut [int] = &mut [1, 2, 3, 4, 5]; - assert!(x[mut] == cmp); + assert!(&mut x[] == cmp); } { let cmp: &mut [int] = &mut [3, 4, 5]; - assert!(x[mut 2..] == cmp); + assert!(&mut x[2..] == cmp); } { let cmp: &mut [int] = &mut [1, 2, 3]; - assert!(x[mut ..3] == cmp); + assert!(&mut x[..3] == cmp); } { let cmp: &mut [int] = &mut [2, 3, 4]; - assert!(x[mut 1..4] == cmp); + assert!(&mut x[1..4] == cmp); } let mut x: Vec = vec![1, 2, 3, 4, 5]; { let cmp: &mut [int] = &mut [1, 2, 3, 4, 5]; - assert!(x[mut] == cmp); + assert!(&mut x[] == cmp); } { let cmp: &mut [int] = &mut [3, 4, 5]; - assert!(x[mut 2..] == cmp); + assert!(&mut x[2..] == cmp); } { let cmp: &mut [int] = &mut [1, 2, 3]; - assert!(x[mut ..3] == cmp); + assert!(&mut x[..3] == cmp); } { let cmp: &mut [int] = &mut [2, 3, 4]; - assert!(x[mut 1..4] == cmp); + assert!(&mut x[1..4] == cmp); } } diff --git a/src/test/run-pass/slice.rs b/src/test/run-pass/slice.rs index c6dfc8dfd23a..e039886022c2 100644 --- a/src/test/run-pass/slice.rs +++ b/src/test/run-pass/slice.rs @@ -13,7 +13,7 @@ #![feature(slicing_syntax)] extern crate core; -use core::ops::{Slice,SliceMut}; +use core::ops::{Index, Range, RangeTo, RangeFrom, FullRange}; static mut COUNT: uint = 0; @@ -56,16 +56,17 @@ impl SliceMut for Foo { self } } + fn main() { let mut x = Foo; - x.index(&FullRange); - x.index(&(Foo..)); - x.index(&(0..Foo)); - x.index(&(Foo..Foo)); - x[mut]; - x[mut Foo..]; - x[mut ..Foo]; - x[mut Foo..Foo]; + &x[]; + &x[Foo..]; + &x[0..Foo]; + &x[Foo..Foo]; + &mut x[]; + &mut x[Foo..]; + &mut x[..Foo]; + &mut x[Foo..Foo]; unsafe { assert!(COUNT == 8); }