diff options
| author | bors <bors@rust-lang.org> | 2013-06-30 21:14:13 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-06-30 21:14:13 -0700 |
| commit | 07feeb95c5e73c5d871c7e365cf4a7138774d449 (patch) | |
| tree | 8b7f2a06b1a86a57dc3bc00bb53da5e96b1a243b /src/libextra | |
| parent | d5c5ce3f8d07ba7f9059727a790ce19f7a1599b7 (diff) | |
| parent | c0a20d2929a7c0d6af0de899198df4f26453d877 (diff) | |
| download | rust-07feeb95c5e73c5d871c7e365cf4a7138774d449.tar.gz rust-07feeb95c5e73c5d871c7e365cf4a7138774d449.zip | |
auto merge of #7487 : huonw/rust/vec-kill, r=cmr
Continuation of #7430. I haven't removed the `map` method, since the replacement `v.iter().transform(f).collect::<~[SomeType]>()` is a little ridiculous at the moment.
Diffstat (limited to 'src/libextra')
| -rw-r--r-- | src/libextra/fileinput.rs | 9 | ||||
| -rw-r--r-- | src/libextra/getopts.rs | 6 | ||||
| -rw-r--r-- | src/libextra/num/bigint.rs | 10 | ||||
| -rw-r--r-- | src/libextra/par.rs | 6 | ||||
| -rw-r--r-- | src/libextra/priority_queue.rs | 2 | ||||
| -rw-r--r-- | src/libextra/semver.rs | 4 | ||||
| -rw-r--r-- | src/libextra/smallintmap.rs | 13 | ||||
| -rw-r--r-- | src/libextra/sort.rs | 42 | ||||
| -rw-r--r-- | src/libextra/terminfo/parser/compiled.rs | 9 | ||||
| -rw-r--r-- | src/libextra/test.rs | 2 |
10 files changed, 50 insertions, 53 deletions
diff --git a/src/libextra/fileinput.rs b/src/libextra/fileinput.rs index 5367da2fa8d..f91260f4752 100644 --- a/src/libextra/fileinput.rs +++ b/src/libextra/fileinput.rs @@ -100,7 +100,6 @@ total line count). use std::io::ReaderUtil; use std::io; use std::os; -use std::vec; /** A summary of the internal state of a `FileInput` object. `line_num` @@ -353,13 +352,13 @@ a literal `-`. */ // XXX: stupid, unclear name pub fn pathify(vec: &[~str], stdin_hyphen : bool) -> ~[Option<Path>] { - vec::map(vec, |&str : & ~str| { - if stdin_hyphen && str == ~"-" { + vec.iter().transform(|str| { + if stdin_hyphen && "-" == *str { None } else { - Some(Path(str)) + Some(Path(*str)) } - }) + }).collect() } /** diff --git a/src/libextra/getopts.rs b/src/libextra/getopts.rs index 21fe676ef79..1a494f36c64 100644 --- a/src/libextra/getopts.rs +++ b/src/libextra/getopts.rs @@ -592,9 +592,9 @@ pub mod groups { */ pub fn usage(brief: &str, opts: &[OptGroup]) -> ~str { - let desc_sep = ~"\n" + " ".repeat(24); + let desc_sep = "\n" + " ".repeat(24); - let rows = vec::map(opts, |optref| { + let mut rows = opts.iter().transform(|optref| { let OptGroup{short_name: short_name, long_name: long_name, hint: hint, @@ -669,7 +669,7 @@ pub mod groups { return str::to_owned(brief) + "\n\nOptions:\n" + - rows.connect("\n") + + rows.collect::<~[~str]>().connect("\n") + "\n\n"; } } // end groups module diff --git a/src/libextra/num/bigint.rs b/src/libextra/num/bigint.rs index fd61c4f6bfc..9422ad0c9f2 100644 --- a/src/libextra/num/bigint.rs +++ b/src/libextra/num/bigint.rs @@ -283,13 +283,13 @@ impl Mul<BigUint, BigUint> for BigUint { if n == 1 { return copy *a; } let mut carry = 0; - let prod = do vec::map(a.data) |ai| { + let prod = do a.data.iter().transform |ai| { let (hi, lo) = BigDigit::from_uint( (*ai as uint) * (n as uint) + (carry as uint) ); carry = hi; lo - }; + }.collect::<~[BigDigit]>(); if carry == 0 { return BigUint::new(prod) }; return BigUint::new(prod + [carry]); } @@ -618,13 +618,13 @@ impl BigUint { if n_bits == 0 || self.is_zero() { return copy *self; } let mut carry = 0; - let shifted = do vec::map(self.data) |elem| { + let shifted = do self.data.iter().transform |elem| { let (hi, lo) = BigDigit::from_uint( (*elem as uint) << n_bits | (carry as uint) ); carry = hi; lo - }; + }.collect::<~[BigDigit]>(); if carry == 0 { return BigUint::new(shifted); } return BigUint::new(shifted + [carry]); } @@ -1172,7 +1172,7 @@ mod biguint_tests { #[test] fn test_cmp() { - let data = [ &[], &[1], &[2], &[-1], &[0, 1], &[2, 1], &[1, 1, 1] ] + let data: ~[BigUint] = [ &[], &[1], &[2], &[-1], &[0, 1], &[2, 1], &[1, 1, 1] ] .map(|v| BigUint::from_slice(*v)); for data.iter().enumerate().advance |(i, ni)| { for data.slice(i, data.len()).iter().enumerate().advance |(j0, nj)| { diff --git a/src/libextra/par.rs b/src/libextra/par.rs index 665633eedf8..2878a3ee122 100644 --- a/src/libextra/par.rs +++ b/src/libextra/par.rs @@ -92,7 +92,7 @@ pub fn map<A:Copy + Send,B:Copy + Send>( vec::concat(map_slices(xs, || { let f = fn_factory(); let result: ~fn(uint, &[A]) -> ~[B] = - |_, slice| vec::map(slice, |x| f(x)); + |_, slice| slice.iter().transform(|x| f(x)).collect(); result })) } @@ -104,9 +104,9 @@ pub fn mapi<A:Copy + Send,B:Copy + Send>( let slices = map_slices(xs, || { let f = fn_factory(); let result: ~fn(uint, &[A]) -> ~[B] = |base, slice| { - vec::mapi(slice, |i, x| { + slice.iter().enumerate().transform(|(i, x)| { f(i + base, x) - }) + }).collect() }; result }); diff --git a/src/libextra/priority_queue.rs b/src/libextra/priority_queue.rs index 4c1163f3d50..3d1ca4a9818 100644 --- a/src/libextra/priority_queue.rs +++ b/src/libextra/priority_queue.rs @@ -107,7 +107,7 @@ impl<T:Ord> PriorityQueue<T> { let mut end = q.len(); while end > 1 { end -= 1; - vec::swap(q.data, 0, end); + q.data.swap(0, end); q.siftdown_range(0, end) } q.to_vec() diff --git a/src/libextra/semver.rs b/src/libextra/semver.rs index 6361de12719..6c9453a5a3b 100644 --- a/src/libextra/semver.rs +++ b/src/libextra/semver.rs @@ -78,12 +78,12 @@ impl ToStr for Version { let s = if self.pre.is_empty() { s } else { - s + "-" + self.pre.map(|i| i.to_str()).connect(".") + fmt!("%s-%s", s, self.pre.map(|i| i.to_str()).connect(".")) }; if self.build.is_empty() { s } else { - s + "+" + self.build.map(|i| i.to_str()).connect(".") + fmt!("%s+%s", s, self.build.map(|i| i.to_str()).connect(".")) } } } diff --git a/src/libextra/smallintmap.rs b/src/libextra/smallintmap.rs index e32c688da37..9cfe7cf5e4a 100644 --- a/src/libextra/smallintmap.rs +++ b/src/libextra/smallintmap.rs @@ -20,7 +20,6 @@ use std::cmp; use std::container::{Container, Mutable, Map, Set}; use std::uint; use std::util::replace; -use std::vec; #[allow(missing_doc)] pub struct SmallIntMap<T> { @@ -86,7 +85,7 @@ impl<V> Map<uint, V> for SmallIntMap<V> { let exists = self.contains_key(&key); let len = self.v.len(); if len <= key { - vec::grow_fn(&mut self.v, key - len + 1, |_| None); + self.v.grow_fn(key - len + 1, |_| None); } self.v[key] = Some(value); !exists @@ -383,8 +382,6 @@ mod test_set { use super::SmallIntSet; - use std::vec; - #[test] fn test_disjoint() { let mut xs = SmallIntSet::new(); @@ -456,7 +453,7 @@ mod test_set { let mut i = 0; let expected = [3, 5, 11, 77]; for a.intersection(&b) |x| { - assert!(vec::contains(expected, x)); + assert!(expected.contains(x)); i += 1 } assert_eq!(i, expected.len()); @@ -479,7 +476,7 @@ mod test_set { let mut i = 0; let expected = [1, 5, 11]; for a.difference(&b) |x| { - assert!(vec::contains(expected, x)); + assert!(expected.contains(x)); i += 1 } assert_eq!(i, expected.len()); @@ -504,7 +501,7 @@ mod test_set { let mut i = 0; let expected = [1, 5, 11, 14, 22]; for a.symmetric_difference(&b) |x| { - assert!(vec::contains(expected, x)); + assert!(expected.contains(x)); i += 1 } assert_eq!(i, expected.len()); @@ -533,7 +530,7 @@ mod test_set { let mut i = 0; let expected = [1, 3, 5, 9, 11, 13, 16, 19, 24]; for a.union(&b) |x| { - assert!(vec::contains(expected, x)); + assert!(expected.contains(x)); i += 1 } assert_eq!(i, expected.len()); diff --git a/src/libextra/sort.rs b/src/libextra/sort.rs index 36c12f314b7..f59a2414aae 100644 --- a/src/libextra/sort.rs +++ b/src/libextra/sort.rs @@ -65,17 +65,17 @@ pub fn merge_sort<T:Copy>(v: &[T], le: Le<T>) -> ~[T] { fn part<T>(arr: &mut [T], left: uint, right: uint, pivot: uint, compare_func: Le<T>) -> uint { - vec::swap(arr, pivot, right); + arr.swap(pivot, right); let mut storage_index: uint = left; let mut i: uint = left; while i < right { if compare_func(&arr[i], &arr[right]) { - vec::swap(arr, i, storage_index); + arr.swap(i, storage_index); storage_index += 1; } i += 1; } - vec::swap(arr, storage_index, right); + arr.swap(storage_index, right); return storage_index; } @@ -120,29 +120,29 @@ fn qsort3<T:Copy + Ord + Eq>(arr: &mut [T], left: int, right: int) { j -= 1; } if i >= j { break; } - vec::swap(arr, i as uint, j as uint); + arr.swap(i as uint, j as uint); if arr[i] == v { p += 1; - vec::swap(arr, p as uint, i as uint); + arr.swap(p as uint, i as uint); } if v == arr[j] { q -= 1; - vec::swap(arr, j as uint, q as uint); + arr.swap(j as uint, q as uint); } } - vec::swap(arr, i as uint, right as uint); + arr.swap(i as uint, right as uint); j = i - 1; i += 1; let mut k: int = left; while k < p { - vec::swap(arr, k as uint, j as uint); + arr.swap(k as uint, j as uint); k += 1; j -= 1; if k == arr.len() as int { break; } } k = right - 1; while k > q { - vec::swap(arr, i as uint, k as uint); + arr.swap(i as uint, k as uint); k -= 1; i += 1; if k == 0 { break; } @@ -259,7 +259,7 @@ fn binarysort<T:Copy + Ord>(array: &mut [T], start: uint) { fn reverse_slice<T>(v: &mut [T], start: uint, end:uint) { let mut i = start; while i < end / 2 { - vec::swap(v, i, end - i - 1); + v.swap(i, end - i - 1); i += 1; } } @@ -479,7 +479,7 @@ impl<T:Copy + Ord> MergeState<T> { let mut len1 = len1; let mut len2 = len2; - vec::swap(array, dest, c2); + array.swap(dest, c2); dest += 1; c2 += 1; len2 -= 1; if len2 == 0 { @@ -501,7 +501,7 @@ impl<T:Copy + Ord> MergeState<T> { loop { assert!(len1 > 1 && len2 != 0); if array[c2] < tmp[c1] { - vec::swap(array, dest, c2); + array.swap(dest, c2); dest += 1; c2 += 1; len2 -= 1; count2 += 1; count1 = 0; if len2 == 0 { @@ -534,7 +534,7 @@ impl<T:Copy + Ord> MergeState<T> { dest += count1; c1 += count1; len1 -= count1; if len1 <= 1 { break_outer = true; break; } } - vec::swap(array, dest, c2); + array.swap(dest, c2); dest += 1; c2 += 1; len2 -= 1; if len2 == 0 { break_outer = true; break; } @@ -589,7 +589,7 @@ impl<T:Copy + Ord> MergeState<T> { let mut len1 = len1; let mut len2 = len2; - vec::swap(array, dest, c1); + array.swap(dest, c1); dest -= 1; c1 -= 1; len1 -= 1; if len1 == 0 { @@ -613,7 +613,7 @@ impl<T:Copy + Ord> MergeState<T> { loop { assert!(len1 != 0 && len2 > 1); if tmp[c2] < array[c1] { - vec::swap(array, dest, c1); + array.swap(dest, c1); dest -= 1; c1 -= 1; len1 -= 1; count1 += 1; count2 = 0; if len1 == 0 { @@ -666,7 +666,7 @@ impl<T:Copy + Ord> MergeState<T> { copy_vec(array, dest+1, tmp.slice(c2+1, c2+1+count2)); if len2 <= 1 { break_outer = true; break; } } - vec::swap(array, dest, c1); + array.swap(dest, c1); dest -= 1; c1 -= 1; len1 -= 1; if len1 == 0 { break_outer = true; break; } min_gallop -= 1; @@ -1049,7 +1049,7 @@ mod big_tests { fn makeRange(n: uint) -> ~[uint] { let one = do vec::from_fn(n) |i| { i }; let mut two = copy one; - vec::reverse(two); + two.reverse(); vec::append(two, one) } @@ -1073,7 +1073,7 @@ mod big_tests { tim_sort(arr); // *sort isSorted(arr); - vec::reverse(arr); + arr.reverse(); tim_sort(arr); // \sort isSorted(arr); @@ -1083,7 +1083,7 @@ mod big_tests { for 3.times { let i1 = rng.gen_uint_range(0, n); let i2 = rng.gen_uint_range(0, n); - vec::swap(arr, i1, i2); + arr.swap(i1, i2); } tim_sort(arr); // 3sort isSorted(arr); @@ -1145,7 +1145,7 @@ mod big_tests { tim_sort(arr); // *sort isSorted(arr); - vec::reverse(arr); + arr.reverse(); tim_sort(arr); // \sort isSorted(arr); @@ -1155,7 +1155,7 @@ mod big_tests { for 3.times { let i1 = rng.gen_uint_range(0, n); let i2 = rng.gen_uint_range(0, n); - vec::swap(arr, i1, i2); + arr.swap(i1, i2); } tim_sort(arr); // 3sort isSorted(arr); diff --git a/src/libextra/terminfo/parser/compiled.rs b/src/libextra/terminfo/parser/compiled.rs index 2f36845d79b..063d26d1424 100644 --- a/src/libextra/terminfo/parser/compiled.rs +++ b/src/libextra/terminfo/parser/compiled.rs @@ -291,12 +291,13 @@ pub fn parse(file: @Reader, longnames: bool) -> Result<~TermInfo, ~str> { // Find the offset of the NUL we want to go to - let nulpos = vec::position_between(string_table, offset as uint, - string_table_bytes as uint, |&b| b == 0); + let nulpos = string_table.slice(offset as uint, string_table_bytes as uint) + .iter().position_(|&b| b == 0); match nulpos { - Some(x) => { + Some(len) => { string_map.insert(name.to_owned(), - string_table.slice(offset as uint, x).to_owned()) + string_table.slice(offset as uint, + offset as uint + len).to_owned()) }, None => { return Err(~"invalid file: missing NUL in string_table"); diff --git a/src/libextra/test.rs b/src/libextra/test.rs index 886bb9293bb..1e1e53de9e8 100644 --- a/src/libextra/test.rs +++ b/src/libextra/test.rs @@ -449,7 +449,7 @@ fn run_tests(opts: &TestOpts, debug!("using %u test tasks", concurrency); let mut remaining = filtered_tests; - vec::reverse(remaining); + remaining.reverse(); let mut pending = 0; let (p, ch) = stream(); |
