Skip to content

Commit 001a874

Browse files
committed
Handle fallout in iter, option, result, and sync::arc
API changes: - UnsafeArc::newN() returns Vec<UnsafeArc<T>>
1 parent 11613fc commit 001a874

File tree

4 files changed

+54
-53
lines changed

4 files changed

+54
-53
lines changed

src/libcore/iter.rs

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2340,8 +2340,8 @@ mod tests {
23402340
#[test]
23412341
fn test_counter_from_iter() {
23422342
let it = count(0, 5).take(10);
2343-
let xs: ~[int] = FromIterator::from_iter(it);
2344-
assert_eq!(xs, box [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]);
2343+
let xs: Vec<int> = FromIterator::from_iter(it);
2344+
assert_eq!(xs, vec![0, 5, 10, 15, 20, 25, 30, 35, 40, 45]);
23452345
}
23462346

23472347
#[test]
@@ -2371,7 +2371,7 @@ mod tests {
23712371
fn test_filter_map() {
23722372
let mut it = count(0u, 1u).take(10)
23732373
.filter_map(|x| if x % 2 == 0 { Some(x*x) } else { None });
2374-
assert_eq!(it.collect::<~[uint]>(), box [0*0, 2*2, 4*4, 6*6, 8*8]);
2374+
assert_eq!(it.collect::<Vec<uint>>(), vec![0*0, 2*2, 4*4, 6*6, 8*8]);
23752375
}
23762376

23772377
#[test]
@@ -2493,7 +2493,7 @@ mod tests {
24932493
let ys = xs.iter()
24942494
.map(|&x| x)
24952495
.inspect(|_| n += 1)
2496-
.collect::<~[uint]>();
2496+
.collect::<Vec<uint>>();
24972497

24982498
assert_eq!(n, xs.len());
24992499
assert_eq!(xs.as_slice(), ys.as_slice());
@@ -2628,8 +2628,8 @@ mod tests {
26282628

26292629
#[test]
26302630
fn test_collect() {
2631-
let a = box [1, 2, 3, 4, 5];
2632-
let b: ~[int] = a.iter().map(|&x| x).collect();
2631+
let a = vec![1, 2, 3, 4, 5];
2632+
let b: Vec<int> = a.iter().map(|&x| x).collect();
26332633
assert_eq!(a, b);
26342634
}
26352635

@@ -2702,7 +2702,7 @@ mod tests {
27022702
let mut it = xs.iter();
27032703
it.next();
27042704
it.next();
2705-
assert_eq!(it.rev().map(|&x| x).collect::<~[int]>(), box [16, 14, 12, 10, 8, 6]);
2705+
assert_eq!(it.rev().map(|&x| x).collect::<Vec<int>>(), vec![16, 14, 12, 10, 8, 6]);
27062706
}
27072707

27082708
#[test]
@@ -2940,12 +2940,12 @@ mod tests {
29402940

29412941
#[test]
29422942
fn test_double_ended_range() {
2943-
assert_eq!(range(11i, 14).rev().collect::<~[int]>(), box [13i, 12, 11]);
2943+
assert_eq!(range(11i, 14).rev().collect::<Vec<int>>(), vec![13i, 12, 11]);
29442944
for _ in range(10i, 0).rev() {
29452945
fail!("unreachable");
29462946
}
29472947

2948-
assert_eq!(range(11u, 14).rev().collect::<~[uint]>(), box [13u, 12, 11]);
2948+
assert_eq!(range(11u, 14).rev().collect::<Vec<uint>>(), vec![13u, 12, 11]);
29492949
for _ in range(10u, 0).rev() {
29502950
fail!("unreachable");
29512951
}
@@ -2997,13 +2997,14 @@ mod tests {
29972997
}
29982998
}
29992999

3000-
assert_eq!(range(0i, 5).collect::<~[int]>(), box [0i, 1, 2, 3, 4]);
3001-
assert_eq!(range(-10i, -1).collect::<~[int]>(), box [-10, -9, -8, -7, -6, -5, -4, -3, -2]);
3002-
assert_eq!(range(0i, 5).rev().collect::<~[int]>(), box [4, 3, 2, 1, 0]);
3003-
assert_eq!(range(200, -5).collect::<~[int]>(), box []);
3004-
assert_eq!(range(200, -5).rev().collect::<~[int]>(), box []);
3005-
assert_eq!(range(200, 200).collect::<~[int]>(), box []);
3006-
assert_eq!(range(200, 200).rev().collect::<~[int]>(), box []);
3000+
assert_eq!(range(0i, 5).collect::<Vec<int>>(), vec![0i, 1, 2, 3, 4]);
3001+
assert_eq!(range(-10i, -1).collect::<Vec<int>>(),
3002+
vec![-10, -9, -8, -7, -6, -5, -4, -3, -2]);
3003+
assert_eq!(range(0i, 5).rev().collect::<Vec<int>>(), vec![4, 3, 2, 1, 0]);
3004+
assert_eq!(range(200, -5).collect::<Vec<int>>(), vec![]);
3005+
assert_eq!(range(200, -5).rev().collect::<Vec<int>>(), vec![]);
3006+
assert_eq!(range(200, 200).collect::<Vec<int>>(), vec![]);
3007+
assert_eq!(range(200, 200).rev().collect::<Vec<int>>(), vec![]);
30073008

30083009
assert_eq!(range(0i, 100).size_hint(), (100, Some(100)));
30093010
// this test is only meaningful when sizeof uint < sizeof u64
@@ -3014,32 +3015,32 @@ mod tests {
30143015

30153016
#[test]
30163017
fn test_range_inclusive() {
3017-
assert_eq!(range_inclusive(0i, 5).collect::<~[int]>(), box [0i, 1, 2, 3, 4, 5]);
3018-
assert_eq!(range_inclusive(0i, 5).rev().collect::<~[int]>(), box [5i, 4, 3, 2, 1, 0]);
3019-
assert_eq!(range_inclusive(200, -5).collect::<~[int]>(), box []);
3020-
assert_eq!(range_inclusive(200, -5).rev().collect::<~[int]>(), box []);
3021-
assert_eq!(range_inclusive(200, 200).collect::<~[int]>(), box [200]);
3022-
assert_eq!(range_inclusive(200, 200).rev().collect::<~[int]>(), box [200]);
3018+
assert_eq!(range_inclusive(0i, 5).collect::<Vec<int>>(), vec![0i, 1, 2, 3, 4, 5]);
3019+
assert_eq!(range_inclusive(0i, 5).rev().collect::<Vec<int>>(), vec![5i, 4, 3, 2, 1, 0]);
3020+
assert_eq!(range_inclusive(200, -5).collect::<Vec<int>>(), vec![]);
3021+
assert_eq!(range_inclusive(200, -5).rev().collect::<Vec<int>>(), vec![]);
3022+
assert_eq!(range_inclusive(200, 200).collect::<Vec<int>>(), vec![200]);
3023+
assert_eq!(range_inclusive(200, 200).rev().collect::<Vec<int>>(), vec![200]);
30233024
}
30243025

30253026
#[test]
30263027
fn test_range_step() {
3027-
assert_eq!(range_step(0i, 20, 5).collect::<~[int]>(), box [0, 5, 10, 15]);
3028-
assert_eq!(range_step(20i, 0, -5).collect::<~[int]>(), box [20, 15, 10, 5]);
3029-
assert_eq!(range_step(20i, 0, -6).collect::<~[int]>(), box [20, 14, 8, 2]);
3030-
assert_eq!(range_step(200u8, 255, 50).collect::<~[u8]>(), box [200u8, 250]);
3031-
assert_eq!(range_step(200, -5, 1).collect::<~[int]>(), box []);
3032-
assert_eq!(range_step(200, 200, 1).collect::<~[int]>(), box []);
3028+
assert_eq!(range_step(0i, 20, 5).collect::<Vec<int>>(), vec![0, 5, 10, 15]);
3029+
assert_eq!(range_step(20i, 0, -5).collect::<Vec<int>>(), vec![20, 15, 10, 5]);
3030+
assert_eq!(range_step(20i, 0, -6).collect::<Vec<int>>(), vec![20, 14, 8, 2]);
3031+
assert_eq!(range_step(200u8, 255, 50).collect::<Vec<u8>>(), vec![200u8, 250]);
3032+
assert_eq!(range_step(200, -5, 1).collect::<Vec<int>>(), vec![]);
3033+
assert_eq!(range_step(200, 200, 1).collect::<Vec<int>>(), vec![]);
30333034
}
30343035

30353036
#[test]
30363037
fn test_range_step_inclusive() {
3037-
assert_eq!(range_step_inclusive(0i, 20, 5).collect::<~[int]>(), box [0, 5, 10, 15, 20]);
3038-
assert_eq!(range_step_inclusive(20i, 0, -5).collect::<~[int]>(), box [20, 15, 10, 5, 0]);
3039-
assert_eq!(range_step_inclusive(20i, 0, -6).collect::<~[int]>(), box [20, 14, 8, 2]);
3040-
assert_eq!(range_step_inclusive(200u8, 255, 50).collect::<~[u8]>(), box [200u8, 250]);
3041-
assert_eq!(range_step_inclusive(200, -5, 1).collect::<~[int]>(), box []);
3042-
assert_eq!(range_step_inclusive(200, 200, 1).collect::<~[int]>(), box [200]);
3038+
assert_eq!(range_step_inclusive(0i, 20, 5).collect::<Vec<int>>(), vec![0, 5, 10, 15, 20]);
3039+
assert_eq!(range_step_inclusive(20i, 0, -5).collect::<Vec<int>>(), vec![20, 15, 10, 5, 0]);
3040+
assert_eq!(range_step_inclusive(20i, 0, -6).collect::<Vec<int>>(), vec![20, 14, 8, 2]);
3041+
assert_eq!(range_step_inclusive(200u8, 255, 50).collect::<Vec<u8>>(), vec![200u8, 250]);
3042+
assert_eq!(range_step_inclusive(200, -5, 1).collect::<Vec<int>>(), vec![]);
3043+
assert_eq!(range_step_inclusive(200, 200, 1).collect::<Vec<int>>(), vec![200]);
30433044
}
30443045

30453046
#[test]

src/libcore/option.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -844,22 +844,22 @@ mod tests {
844844

845845
#[test]
846846
fn test_collect() {
847-
let v: Option<~[int]> = collect(range(0, 0)
848-
.map(|_| Some(0)));
849-
assert_eq!(v, Some(box []));
847+
let v: Option<Vec<int>> = collect(range(0, 0)
848+
.map(|_| Some(0)));
849+
assert_eq!(v, Some(vec![]));
850850

851-
let v: Option<~[int]> = collect(range(0, 3)
852-
.map(|x| Some(x)));
853-
assert_eq!(v, Some(box [0, 1, 2]));
851+
let v: Option<Vec<int>> = collect(range(0, 3)
852+
.map(|x| Some(x)));
853+
assert_eq!(v, Some(vec![0, 1, 2]));
854854

855-
let v: Option<~[int]> = collect(range(0, 3)
856-
.map(|x| if x > 1 { None } else { Some(x) }));
855+
let v: Option<Vec<int>> = collect(range(0, 3)
856+
.map(|x| if x > 1 { None } else { Some(x) }));
857857
assert_eq!(v, None);
858858

859859
// test that it does not take more elements than it needs
860860
let mut functions = [|| Some(()), || None, || fail!()];
861861

862-
let v: Option<~[()]> = collect(functions.mut_iter().map(|f| (*f)()));
862+
let v: Option<Vec<()>> = collect(functions.mut_iter().map(|f| (*f)()));
863863

864864
assert_eq!(v, None);
865865
}

src/libcore/result.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -653,20 +653,20 @@ mod tests {
653653

654654
#[test]
655655
fn test_collect() {
656-
let v: Result<~[int], ()> = collect(range(0, 0).map(|_| Ok::<int, ()>(0)));
657-
assert_eq!(v, Ok(box []));
656+
let v: Result<Vec<int>, ()> = collect(range(0, 0).map(|_| Ok::<int, ()>(0)));
657+
assert_eq!(v, Ok(vec![]));
658658

659-
let v: Result<~[int], ()> = collect(range(0, 3).map(|x| Ok::<int, ()>(x)));
660-
assert_eq!(v, Ok(box [0, 1, 2]));
659+
let v: Result<Vec<int>, ()> = collect(range(0, 3).map(|x| Ok::<int, ()>(x)));
660+
assert_eq!(v, Ok(vec![0, 1, 2]));
661661

662-
let v: Result<~[int], int> = collect(range(0, 3)
663-
.map(|x| if x > 1 { Err(x) } else { Ok(x) }));
662+
let v: Result<Vec<int>, int> = collect(range(0, 3)
663+
.map(|x| if x > 1 { Err(x) } else { Ok(x) }));
664664
assert_eq!(v, Err(2));
665665

666666
// test that it does not take more elements than it needs
667667
let mut functions = [|| Ok(()), || Err(1), || fail!()];
668668

669-
let v: Result<~[()], int> = collect(functions.mut_iter().map(|f| (*f)()));
669+
let v: Result<Vec<()>, int> = collect(functions.mut_iter().map(|f| (*f)()));
670670
assert_eq!(v, Err(1));
671671
}
672672

src/libstd/sync/arc.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,14 @@ impl<T: Send> UnsafeArc<T> {
6969

7070
/// As new(), but returns a vector of as many pre-cloned handles as
7171
/// requested.
72-
pub fn newN(data: T, num_handles: uint) -> ~[UnsafeArc<T>] {
72+
pub fn newN(data: T, num_handles: uint) -> Vec<UnsafeArc<T>> {
7373
unsafe {
7474
if num_handles == 0 {
75-
box [] // need to free data here
75+
vec![] // need to free data here
7676
} else {
7777
let ptr = new_inner(data, num_handles);
7878
let v = Vec::from_fn(num_handles, |_| UnsafeArc { data: ptr });
79-
v.move_iter().collect()
79+
v
8080
}
8181
}
8282
}

0 commit comments

Comments
 (0)