Skip to content

Commit 45426c3

Browse files
committed
vec: rm obsolete zip and zip_slice
These are obsoleted by the generic iterator `zip` adaptor. Unlike these, it does not clone the elements or allocate a new vector by default.
1 parent 1f89eb8 commit 45426c3

File tree

4 files changed

+4
-100
lines changed

4 files changed

+4
-100
lines changed

src/libextra/sort.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -782,11 +782,8 @@ mod test_qsort3 {
782782

783783
#[cfg(test)]
784784
mod test_qsort {
785-
786785
use sort::*;
787786

788-
use std::vec;
789-
790787
fn check_sort(v1: &mut [int], v2: &mut [int]) {
791788
let len = v1.len();
792789
fn leual(a: &int, b: &int) -> bool { *a <= *b }
@@ -835,9 +832,7 @@ mod test_qsort {
835832

836833
let immut_names = names;
837834

838-
let pairs = vec::zip_slice(expected, immut_names);
839-
for p in pairs.iter() {
840-
let (a, b) = *p;
835+
for (&a, &b) in expected.iter().zip(immut_names.iter()) {
841836
debug!("%d %d", a, b);
842837
assert_eq!(a, b);
843838
}

src/libextra/test.rs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,7 +1121,6 @@ mod tests {
11211121

11221122
use std::either;
11231123
use std::comm::{stream, SharedChan};
1124-
use std::vec;
11251124
use tempfile;
11261125
use std::os;
11271126

@@ -1309,14 +1308,8 @@ mod tests {
13091308
~"test::parse_ignored_flag",
13101309
~"test::sort_tests"];
13111310
1312-
let pairs = vec::zip(expected, filtered);
1313-
1314-
for p in pairs.iter() {
1315-
match *p {
1316-
(ref a, ref b) => {
1317-
assert!(*a == b.desc.name.to_str());
1318-
}
1319-
}
1311+
for (a, b) in expected.iter().zip(filtered.iter()) {
1312+
assert!(*a == b.desc.name.to_str());
13201313
}
13211314
}
13221315

src/libstd/vec.rs

Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -390,39 +390,6 @@ pub fn unzip<T,U>(v: ~[(T, U)]) -> (~[T], ~[U]) {
390390
(ts, us)
391391
}
392392

393-
/**
394-
* Convert two vectors to a vector of pairs, by reference. As zip().
395-
*/
396-
pub fn zip_slice<T:Clone,U:Clone>(v: &[T], u: &[U]) -> ~[(T, U)] {
397-
let mut zipped = ~[];
398-
let sz = v.len();
399-
let mut i = 0u;
400-
assert_eq!(sz, u.len());
401-
while i < sz {
402-
zipped.push((v[i].clone(), u[i].clone()));
403-
i += 1u;
404-
}
405-
zipped
406-
}
407-
408-
/**
409-
* Convert two vectors to a vector of pairs.
410-
*
411-
* Returns a vector of tuples, where the i-th tuple contains the
412-
* i-th elements from each of the input vectors.
413-
*/
414-
pub fn zip<T, U>(mut v: ~[T], mut u: ~[U]) -> ~[(T, U)] {
415-
let mut i = v.len();
416-
assert_eq!(i, u.len());
417-
let mut w = with_capacity(i);
418-
while i > 0 {
419-
w.push((v.pop(),u.pop()));
420-
i -= 1;
421-
}
422-
w.reverse();
423-
w
424-
}
425-
426393
/**
427394
* Iterate over all permutations of vector `v`.
428395
*
@@ -2865,14 +2832,7 @@ mod tests {
28652832

28662833
#[test]
28672834
fn test_zip_unzip() {
2868-
let v1 = ~[1, 2, 3];
2869-
let v2 = ~[4, 5, 6];
2870-
2871-
let z1 = zip(v1, v2);
2872-
2873-
assert_eq!((1, 4), z1[0]);
2874-
assert_eq!((2, 5), z1[1]);
2875-
assert_eq!((3, 6), z1[2]);
2835+
let z1 = ~[(1, 4), (2, 5), (3, 6)];
28762836

28772837
let (left, right) = unzip(z1);
28782838

src/test/run-pass/zip-same-length.rs

Lines changed: 0 additions & 44 deletions
This file was deleted.

0 commit comments

Comments
 (0)