Skip to content

Commit 40b9f5d

Browse files
committed
Use slice syntax instead of slice_to, etc.
1 parent a70a037 commit 40b9f5d

Some content is hidden

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

81 files changed

+331
-363
lines changed

src/compiletest/runtest.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -874,7 +874,7 @@ fn check_error_patterns(props: &TestProps,
874874
if done { return; }
875875

876876
let missing_patterns =
877-
props.error_patterns.slice(next_err_idx, props.error_patterns.len());
877+
props.error_patterns[next_err_idx..];
878878
if missing_patterns.len() == 1u {
879879
fatal_proc_rec(format!("error pattern '{}' not found!",
880880
missing_patterns[0]).as_slice(),

src/libcollections/bitv.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ impl Bitv {
194194
if start > self.storage.len() {
195195
start = self.storage.len();
196196
}
197-
let mut iter = self.storage.slice_from(start).iter();
197+
let mut iter = self.storage[start..].iter();
198198
MaskWords {
199199
next_word: iter.next(),
200200
iter: iter,

src/libcollections/ringbuf.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ impl<T> RingBuf<T> {
271271
/// *num = *num - 2;
272272
/// }
273273
/// let b: &[_] = &[&mut 3, &mut 1, &mut 2];
274-
/// assert_eq!(buf.iter_mut().collect::<Vec<&mut int>>().as_slice(), b);
274+
/// assert_eq!(buf.iter_mut().collect::<Vec<&mut int>>()[], b);
275275
/// ```
276276
pub fn iter_mut<'a>(&'a mut self) -> MutItems<'a, T> {
277277
let start_index = raw_index(self.lo, self.elts.len(), 0);
@@ -291,7 +291,7 @@ impl<T> RingBuf<T> {
291291
} else {
292292
// Items to iterate goes from start_index to end_index:
293293
let (empty, elts) = self.elts.split_at_mut(0);
294-
let remaining1 = elts.slice_mut(start_index, end_index);
294+
let remaining1 = elts[mut start_index..end_index];
295295
MutItems { remaining1: remaining1,
296296
remaining2: empty,
297297
nelts: self.nelts }

src/libcollections/slice.rs

+30-23
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,13 @@
4646
//! These traits include `ImmutableSlice`, which is defined for `&[T]` types,
4747
//! and `MutableSlice`, defined for `&mut [T]` types.
4848
//!
49-
//! An example is the method `.slice(a, b)` that returns an immutable "view" into
50-
//! a `Vec` or another slice from the index interval `[a, b)`:
49+
//! An example is the `slice` method which enables slicing syntax `[a..b]` that
50+
//! returns an immutable "view" into a `Vec` or another slice from the index
51+
//! interval `[a, b)`:
5152
//!
5253
//! ```rust
5354
//! let numbers = [0i, 1i, 2i];
54-
//! let last_numbers = numbers.slice(1, 3);
55+
//! let last_numbers = numbers[1..3];
5556
//! // last_numbers is now &[1i, 2i]
5657
//! ```
5758
//!
@@ -610,7 +611,7 @@ impl<'a,T> MutableSliceAllocating<'a, T> for &'a mut [T] {
610611

611612
#[inline]
612613
fn move_from(self, mut src: Vec<T>, start: uint, end: uint) -> uint {
613-
for (a, b) in self.iter_mut().zip(src.slice_mut(start, end).iter_mut()) {
614+
for (a, b) in self.iter_mut().zip(src[mut start..end].iter_mut()) {
614615
mem::swap(a, b);
615616
}
616617
cmp::min(self.len(), end-start)
@@ -702,7 +703,7 @@ impl<'a, T: Ord> MutableOrdSlice<T> for &'a mut [T] {
702703
self.swap(j, i-1);
703704

704705
// Step 4: Reverse the (previously) weakly decreasing part
705-
self.slice_from_mut(i).reverse();
706+
self[mut i..].reverse();
706707

707708
true
708709
}
@@ -723,7 +724,7 @@ impl<'a, T: Ord> MutableOrdSlice<T> for &'a mut [T] {
723724
}
724725

725726
// Step 2: Reverse the weakly increasing part
726-
self.slice_from_mut(i).reverse();
727+
self[mut i..].reverse();
727728

728729
// Step 3: Find the rightmost element equal to or bigger than the pivot (i-1)
729730
let mut j = self.len() - 1;
@@ -990,24 +991,24 @@ mod tests {
990991
fn test_slice() {
991992
// Test fixed length vector.
992993
let vec_fixed = [1i, 2, 3, 4];
993-
let v_a = vec_fixed.slice(1u, vec_fixed.len()).to_vec();
994+
let v_a = vec_fixed[1u..vec_fixed.len()].to_vec();
994995
assert_eq!(v_a.len(), 3u);
995996
let v_a = v_a.as_slice();
996997
assert_eq!(v_a[0], 2);
997998
assert_eq!(v_a[1], 3);
998999
assert_eq!(v_a[2], 4);
9991000

10001001
// Test on stack.
1001-
let vec_stack = &[1i, 2, 3];
1002-
let v_b = vec_stack.slice(1u, 3u).to_vec();
1002+
let vec_stack: &[_] = &[1i, 2, 3];
1003+
let v_b = vec_stack[1u..3u].to_vec();
10031004
assert_eq!(v_b.len(), 2u);
10041005
let v_b = v_b.as_slice();
10051006
assert_eq!(v_b[0], 2);
10061007
assert_eq!(v_b[1], 3);
10071008

10081009
// Test `Box<[T]>`
10091010
let vec_unique = vec![1i, 2, 3, 4, 5, 6];
1010-
let v_d = vec_unique.slice(1u, 6u).to_vec();
1011+
let v_d = vec_unique[1u..6u].to_vec();
10111012
assert_eq!(v_d.len(), 5u);
10121013
let v_d = v_d.as_slice();
10131014
assert_eq!(v_d[0], 2);
@@ -1020,21 +1021,21 @@ mod tests {
10201021
#[test]
10211022
fn test_slice_from() {
10221023
let vec: &[int] = &[1, 2, 3, 4];
1023-
assert_eq!(vec.slice_from(0), vec);
1024+
assert_eq!(vec[0..], vec);
10241025
let b: &[int] = &[3, 4];
1025-
assert_eq!(vec.slice_from(2), b);
1026+
assert_eq!(vec[2..], b);
10261027
let b: &[int] = &[];
1027-
assert_eq!(vec.slice_from(4), b);
1028+
assert_eq!(vec[4..], b);
10281029
}
10291030

10301031
#[test]
10311032
fn test_slice_to() {
10321033
let vec: &[int] = &[1, 2, 3, 4];
1033-
assert_eq!(vec.slice_to(4), vec);
1034+
assert_eq!(vec[..4], vec);
10341035
let b: &[int] = &[1, 2];
1035-
assert_eq!(vec.slice_to(2), b);
1036+
assert_eq!(vec[..2], b);
10361037
let b: &[int] = &[];
1037-
assert_eq!(vec.slice_to(0), b);
1038+
assert_eq!(vec[..0], b);
10381039
}
10391040

10401041

@@ -1975,7 +1976,7 @@ mod tests {
19751976
assert!(a == [7i,2,3,4]);
19761977
let mut a = [1i,2,3,4,5];
19771978
let b = vec![5i,6,7,8,9,0];
1978-
assert_eq!(a.slice_mut(2,4).move_from(b,1,6), 2);
1979+
assert_eq!(a[mut 2..4].move_from(b,1,6), 2);
19791980
assert!(a == [1i,2,6,7,5]);
19801981
}
19811982

@@ -1995,7 +1996,7 @@ mod tests {
19951996
#[test]
19961997
fn test_reverse_part() {
19971998
let mut values = [1i,2,3,4,5];
1998-
values.slice_mut(1, 4).reverse();
1999+
values[mut 1..4].reverse();
19992000
assert!(values == [1,4,3,2,5]);
20002001
}
20012002

@@ -2042,9 +2043,9 @@ mod tests {
20422043
fn test_bytes_set_memory() {
20432044
use slice::bytes::MutableByteVector;
20442045
let mut values = [1u8,2,3,4,5];
2045-
values.slice_mut(0,5).set_memory(0xAB);
2046+
values[mut 0..5].set_memory(0xAB);
20462047
assert!(values == [0xAB, 0xAB, 0xAB, 0xAB, 0xAB]);
2047-
values.slice_mut(2,4).set_memory(0xFF);
2048+
values[mut 2..4].set_memory(0xFF);
20482049
assert!(values == [0xAB, 0xAB, 0xFF, 0xFF, 0xAB]);
20492050
}
20502051

@@ -2070,12 +2071,18 @@ mod tests {
20702071
let mut values = [1u8,2,3,4,5];
20712072
{
20722073
let (left, right) = values.split_at_mut(2);
2073-
assert!(left.slice(0, left.len()) == [1, 2]);
2074+
{
2075+
let left: &[_] = left;
2076+
assert!(left[0..left.len()] == [1, 2]);
2077+
}
20742078
for p in left.iter_mut() {
20752079
*p += 1;
20762080
}
20772081

2078-
assert!(right.slice(0, right.len()) == [3, 4, 5]);
2082+
{
2083+
let right: &[_] = right;
2084+
assert!(right[0..right.len()] == [3, 4, 5]);
2085+
}
20792086
for p in right.iter_mut() {
20802087
*p += 2;
20812088
}
@@ -2099,7 +2106,7 @@ mod tests {
20992106
}
21002107
assert_eq!(cnt, 3);
21012108

2102-
for f in v.slice(1, 3).iter() {
2109+
for f in v[1..3].iter() {
21032110
assert!(*f == Foo);
21042111
cnt += 1;
21052112
}

src/libcollections/str.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1680,7 +1680,7 @@ mod tests {
16801680
let mut bytes = [0u8, ..4];
16811681
for c in range(0u32, 0x110000).filter_map(|c| ::core::char::from_u32(c)) {
16821682
let len = c.encode_utf8(bytes).unwrap_or(0);
1683-
let s = ::core::str::from_utf8(bytes.slice_to(len)).unwrap();
1683+
let s = ::core::str::from_utf8(bytes[..len]).unwrap();
16841684
if Some(c) != s.chars().next() {
16851685
fail!("character {:x}={} does not decode correctly", c as u32, c);
16861686
}
@@ -1692,7 +1692,7 @@ mod tests {
16921692
let mut bytes = [0u8, ..4];
16931693
for c in range(0u32, 0x110000).filter_map(|c| ::core::char::from_u32(c)) {
16941694
let len = c.encode_utf8(bytes).unwrap_or(0);
1695-
let s = ::core::str::from_utf8(bytes.slice_to(len)).unwrap();
1695+
let s = ::core::str::from_utf8(bytes[..len]).unwrap();
16961696
if Some(c) != s.chars().rev().next() {
16971697
fail!("character {:x}={} does not decode correctly", c as u32, c);
16981698
}

src/libcollections/string.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ impl String {
160160

161161
if i > 0 {
162162
unsafe {
163-
res.as_mut_vec().push_all(v.slice_to(i))
163+
res.as_mut_vec().push_all(v.[..i])
164164
};
165165
}
166166

@@ -177,7 +177,7 @@ impl String {
177177
macro_rules! error(() => ({
178178
unsafe {
179179
if subseqidx != i_ {
180-
res.as_mut_vec().push_all(v.slice(subseqidx, i_));
180+
res.as_mut_vec().push_all(vv[subseqidx..i_]);
181181
}
182182
subseqidx = i;
183183
res.as_mut_vec().push_all(REPLACEMENT);
@@ -246,7 +246,7 @@ impl String {
246246
}
247247
if subseqidx < total {
248248
unsafe {
249-
res.as_mut_vec().push_all(v.slice(subseqidx, total))
249+
res.as_mut_vec().push_all(v[subseqidx..total])
250250
};
251251
}
252252
Owned(res.into_string())

src/libcollections/trie.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ use core::fmt;
2424
use core::fmt::Show;
2525
use core::mem::zeroed;
2626
use core::mem;
27+
use core::ops::{Slice,SliceMut};
2728
use core::uint;
2829
use core::iter;
2930
use std::hash::{Writer, Hash};
@@ -378,7 +379,7 @@ macro_rules! bound {
378379
}
379380
};
380381
// push to the stack.
381-
it.stack[it.length] = children.$slice_from(slice_idx).$iter();
382+
it.stack[it.length] = children.$slice_from(&slice_idx).$iter();
382383
it.length += 1;
383384
if ret { return it }
384385
})
@@ -392,7 +393,7 @@ impl<T> TrieMap<T> {
392393
fn bound<'a>(&'a self, key: uint, upper: bool) -> Entries<'a, T> {
393394
bound!(Entries, self = self,
394395
key = key, is_upper = upper,
395-
slice_from = slice_from, iter = iter,
396+
slice_from = slice_from_, iter = iter,
396397
mutability = )
397398
}
398399

@@ -434,7 +435,7 @@ impl<T> TrieMap<T> {
434435
fn bound_mut<'a>(&'a mut self, key: uint, upper: bool) -> MutEntries<'a, T> {
435436
bound!(MutEntries, self = self,
436437
key = key, is_upper = upper,
437-
slice_from = slice_from_mut, iter = iter_mut,
438+
slice_from = slice_from_mut_, iter = iter_mut,
438439
mutability = mut)
439440
}
440441

0 commit comments

Comments
 (0)