Replace full slice notation with index calls

This commit is contained in:
Nick Cameron 2015-01-02 13:56:28 +13:00
parent 918255ef8c
commit f7ff37e4c5
225 changed files with 2166 additions and 2139 deletions

View file

@ -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[..LINE_LEN]);
alu.index(&(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[..chars_left])
self.out.write(buf.index(&(0..chars_left)))
}
}

View file

@ -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[1..];
input = input.index(&(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[1..];
input = input.index(&(1..));
}
frequencies
}

View file

@ -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[..]`
drop(a[0]); //~ ERROR use of moved value: `a.index(&(..))`
}
fn main() {

View file

@ -14,6 +14,6 @@ fn main() {
[1, 2, tail..] => tail,
_ => unreachable!()
};
a[0] = 0; //~ ERROR cannot assign to `a[..]` because it is borrowed
a[0] = 0; //~ ERROR cannot assign to `a.index(&(..))` because it is borrowed
t[0];
}

View file

@ -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[], oof.zab);
println!("{} {}", oof.rab.index(&FullRange), oof.zab);
}
}

View file

@ -8,12 +8,12 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// Test slicing expr[..] is an error and gives a helpful error message.
// Test slicing expr.index(&(..)) is an error and gives a helpful error message.
struct Foo;
fn main() {
let x = Foo;
x[..]; //~ ERROR incorrect slicing expression: `[..]`
//~^ NOTE use `expr[]` to construct a slice of the whole of expr
x.index(&(..)); //~ ERROR incorrect slicing expression: `[..]`
//~^ NOTE use `expr.index(&FullRange)` to construct a slice of the whole of expr
}

View file

@ -16,8 +16,8 @@ struct Foo;
fn main() {
let x = 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[..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`
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`
}

View file

@ -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[1..];
y = x.index(&(1..));
}
}

View file

@ -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[2..4] = slice; //~ ERROR cannot borrow
x.index(&(2..4)) = slice; //~ ERROR cannot borrow
}

View file

@ -15,5 +15,5 @@
fn main() {
let x: &[int] = &[1, 2, 3, 4, 5];
// Immutable slices are not mutable.
let y: &mut[_] = x[2..4]; //~ ERROR cannot borrow immutable dereference of `&`-pointer as mutabl
let y: &mut[_] = x.index(&(2..4)); //~ ERROR cannot borrow immutable dereference of `&`-pointer as mutabl
}

View file

@ -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[1..3];
let slice_of_slice = multiple.index(&(1..3));
let padded_tuple: &[(i32, i16)] = &[(6, 7), (8, 9)];

View file

@ -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[]);
let d: serialize::rbml::Doc<'a> = EBDoc::new(wr.index(&FullRange));
let mut decoder: EBReader::Decoder<'a> = EBreader::Decoder::new(d);
let a2: A = Decodable::decode(&mut decoder);
assert!(*a1 == a2);

View file

@ -59,7 +59,7 @@ fn roundtrip<'a, T: Rand + Eq + Encodable<Encoder<'a>> +
let mut w = Vec::new();
let mut e = Encoder::new(&mut w);
obj.encode(&mut e);
let doc = rbml::Doc::new(@w[]);
let doc = rbml::Doc::new(@w.index(&FullRange));
let mut dec = Decoder::new(doc);
let obj2 = Decodable::decode(&mut dec);
assert!(obj == obj2);

View file

@ -12,5 +12,5 @@
fn main() {
let mut array = [1, 2, 3];
let pie_slice = array[1..2];
let pie_slice = &array[1..2];
}

View file

@ -15,7 +15,7 @@ fn main() {
let ss: &&[int] = &s;
let sss: &&&[int] = &ss;
println!("{}", s[..3]);
println!("{}", ss[3..]);
println!("{}", sss[2..4]);
println!("{}", s.index(&(0..3)));
println!("{}", ss.index(&(3..)));
println!("{}", sss.index(&(2..4)));
}

View file

@ -11,7 +11,7 @@
#![feature(slicing_syntax)]
fn vec_peek<'r, T>(v: &'r [T]) -> &'r [T] {
v[1..5]
v.index(&(1..5))
}
pub fn main() {}

View file

@ -10,6 +10,6 @@
#![feature(slicing_syntax)]
fn broken(v: &[u8], i: uint, j: uint) -> &[u8] { v[i..j] }
fn broken(v: &[u8], i: uint, j: uint) -> &[u8] { v.index(&(i..j)) }
pub fn main() {}

View file

@ -18,11 +18,11 @@ pub fn main() {
let abc = [1i, 2, 3];
let tf = [true, false];
let x = [(), ()];
let slice = x[0..1];
let slice = x.index(&(0..1));
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(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(slice, "[()]".to_string());
assert_repr_eq(x[], "[(), ()]".to_string());
assert_repr_eq(x.index(&FullRange), "[(), ()]".to_string());
}

View file

@ -19,5 +19,5 @@ pub fn main() {
print!("{}, ", (*xi)[]);
}
println!("]");
println!("{}", y[]);
println!("{}", y.index(&FullRange));
}

View file

@ -15,23 +15,23 @@
fn main() {
let x: &[int] = &[1, 2, 3, 4, 5];
let cmp: &[int] = &[1, 2, 3, 4, 5];
assert!(x[] == cmp);
assert!(x.index(&FullRange) == cmp);
let cmp: &[int] = &[3, 4, 5];
assert!(x[2..] == cmp);
assert!(x.index(&(2..)) == cmp);
let cmp: &[int] = &[1, 2, 3];
assert!(x[..3] == cmp);
assert!(x.index(&(0..3)) == cmp);
let cmp: &[int] = &[2, 3, 4];
assert!(x[1..4] == cmp);
assert!(x.index(&(1..4)) == cmp);
let x: Vec<int> = vec![1, 2, 3, 4, 5];
let cmp: &[int] = &[1, 2, 3, 4, 5];
assert!(x[] == cmp);
assert!(x.index(&FullRange) == cmp);
let cmp: &[int] = &[3, 4, 5];
assert!(x[2..] == cmp);
assert!(x.index(&(2..)) == cmp);
let cmp: &[int] = &[1, 2, 3];
assert!(x[..3] == cmp);
assert!(x.index(&(0..3)) == cmp);
let cmp: &[int] = &[2, 3, 4];
assert!(x[1..4] == cmp);
assert!(x.index(&(1..4)) == cmp);
let x: &mut [int] = &mut [1, 2, 3, 4, 5];
{

View file

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// Test that is a slicing expr[..] fails, the correct cleanups happen.
// Test that is a slicing expr.index(&(..)) fails, the correct cleanups happen.
#![feature(slicing_syntax)]
@ -24,7 +24,7 @@ impl Drop for Foo {
fn foo() {
let x: &[_] = &[Foo, Foo];
x[3..4];
x.index(&(3..4));
}
fn main() {

View file

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// Test that is a slicing expr[..] fails, the correct cleanups happen.
// Test that is a slicing expr.index(&(..)) fails, the correct cleanups happen.
#![feature(slicing_syntax)]

View file

@ -58,10 +58,10 @@ impl SliceMut<Foo, Foo> for Foo {
}
fn main() {
let mut x = Foo;
x[];
x[Foo..];
x[..Foo];
x[Foo..Foo];
x.index(&FullRange);
x.index(&(Foo..));
x.index(&(0..Foo));
x.index(&(Foo..Foo));
x[mut];
x[mut Foo..];
x[mut ..Foo];