1
Fork 0

Convert most working tests to ivecs

I tried to pay attention to what was actually being tested so, e.g. when I
test was just using a vec as a boxed thing, I converted to boxed ints, etc.

Haven't converted the macro tests yet. Not sure what to do there.
This commit is contained in:
Brian Anderson 2011-08-12 15:42:39 -07:00
parent 594c7fb0c6
commit ee7d03f7d7
56 changed files with 124 additions and 121 deletions

View file

@ -12,9 +12,9 @@ fn main() {
// during 'make check' under valgrind // during 'make check' under valgrind
// 5000000 // 5000000
// 50000000 // 50000000
let inputs: vec[int] = [50000, 500000]; let inputs: [int] = ~[50000, 500000];
let bodies: vec[Body::props] = NBodySystem::MakeNBodySystem(); let bodies: [Body::props] = NBodySystem::MakeNBodySystem();
for n: int in inputs { for n: int in inputs {
@ -31,10 +31,10 @@ fn main() {
mod NBodySystem { mod NBodySystem {
fn MakeNBodySystem() -> vec[Body::props] { fn MakeNBodySystem() -> [Body::props] {
// these each return a Body::props // these each return a Body::props
let bodies: vec[Body::props] = let bodies: [Body::props] =
[Body::sun(), Body::jupiter(), Body::saturn(), Body::uranus(), ~[Body::sun(), Body::jupiter(), Body::saturn(), Body::uranus(),
Body::neptune()]; Body::neptune()];
let px: float = 0.0; let px: float = 0.0;
@ -56,7 +56,7 @@ mod NBodySystem {
ret bodies; ret bodies;
} }
fn advance(bodies: vec[Body::props], dt: float) { fn advance(bodies: &[Body::props], dt: float) {
let i: int = 0; let i: int = 0;
while i < 5 { while i < 5 {
@ -95,7 +95,7 @@ mod NBodySystem {
b.z += dt * b.vz; b.z += dt * b.vz;
} }
fn energy(bodies: vec[Body::props]) -> float { fn energy(bodies: &[Body::props]) -> float {
let dx: float; let dx: float;
let dy: float; let dy: float;
let dz: float; let dz: float;

View file

@ -69,9 +69,9 @@ fn stress_task(id: int) {
} }
fn stress(num_tasks: int) { fn stress(num_tasks: int) {
let tasks = []; let tasks = ~[];
for each i: int in range(0, num_tasks) { for each i: int in range(0, num_tasks) {
tasks += [spawn stress_task(i)]; tasks += ~[spawn stress_task(i)];
} }
for each i: int in range(0, num_tasks) { task::join(tasks.(i)); } for each i: int in range(0, num_tasks) { task::join(tasks.(i)); }
} }

View file

@ -1,2 +1,2 @@
// error-pattern:expected str but found vec // error-pattern:expected str but found [int]
fn main() { fail []; } fn main() { fail ~[0]; }

View file

@ -1,6 +1,6 @@
// -*- rust -*- // -*- rust -*-
// error-pattern: illegal recursive type // error-pattern: illegal recursive type
type x = vec[x]; type x = [x];
fn main() { let b: x = []; } fn main() { let b: x = ~[]; }

View file

@ -1,5 +1,5 @@
// error-pattern:Attempt to use a type argument out of scope // error-pattern:Attempt to use a type argument out of scope
fn hd[U](v: &vec[U]) -> U { fn hd[U](v: &[U]) -> U {
fn hd1(w: &vec[U]) -> U { ret w.(0); } fn hd1(w: &[U]) -> U { ret w.(0); }
ret hd1(v); ret hd1(v);
} }

View file

@ -6,7 +6,7 @@ import std::option::some;
// error-pattern: mismatched types // error-pattern: mismatched types
tag bar { t1((), option::t[vec[int]]); t2; } tag bar { t1((), option::t[[int]]); t2; }
fn foo(t: bar) -> int { alt t { t1(_, some(x)) { ret x * 3; } _ { fail; } } } fn foo(t: bar) -> int { alt t { t1(_, some(x)) { ret x * 3; } _ { fail; } } }

View file

@ -5,7 +5,7 @@ import std::option::some;
// error-pattern: mismatched types // error-pattern: mismatched types
tag bar { t1((), option::t[vec[int]]); t2; } tag bar { t1((), option::t[[int]]); t2; }
fn foo(t: bar) { alt t { t1(_, some[int](x)) { log x; } _ { fail; } } } fn foo(t: bar) { alt t { t1(_, some[int](x)) { log x; } _ { fail; } } }

View file

@ -1,15 +1,15 @@
// -*- rust -*- // -*- rust -*-
// error-pattern:src/test/compile-fail/shadow.rs // error-pattern:src/test/compile-fail/shadow.rs
fn foo(c: vec[int]) { fn foo(c: [int]) {
let a: int = 5; let a: int = 5;
let b: vec[int] = []; let b: [int] = ~[];
alt none[int] { alt none[int] {
some[int](_) { for i: int in c { log a; let a = 17; b += [a]; } } some[int](_) { for i: int in c { log a; let a = 17; b += ~[a]; } }
} }
} }
tag t[T] { none; some(T); } tag t[T] { none; some(T); }
fn main() { foo([]); } fn main() { foo(~[]); }

View file

@ -1,6 +1,6 @@
// error-pattern:invalidate alias x // error-pattern:invalidate alias x
fn main() { fn main() {
let v: vec[mutable int] = [mutable 1, 2, 3]; let v: [mutable int] = ~[mutable 1, 2, 3];
for x: int in v { v.(0) = 10; log x; } for x: int in v { v.(0) = 10; log x; }
} }

View file

@ -1,8 +1,8 @@
// error-pattern:attempted field access on type vec[int] // error-pattern:attempted field access on type [int]
// issue #367 // issue #367
fn f() { fn f() {
let v = [1]; let v = ~[1];
log v.some_field_name; //type error log v.some_field_name; //type error
} }

View file

@ -1,5 +1,5 @@
// error-pattern: Unsatisfied precondition constraint // error-pattern: Unsatisfied precondition constraint
fn test() { let w: vec[int]; w.(5) = 0; } fn test() { let w: [int]; w.(5) = 0; }
fn main() { test(); } fn main() { test(); }

View file

@ -1,2 +1,2 @@
// error-pattern:assignment to immutable vec content // error-pattern:assignment to immutable vec content
fn main() { let v: vec[int] = [1, 2, 3]; v.(1) = 4; } fn main() { let v: [int] = ~[1, 2, 3]; v.(1) = 4; }

View file

@ -3,7 +3,7 @@
// error-pattern:bounds check // error-pattern:bounds check
// no-valgrind // no-valgrind
fn main() { fn main() {
let v: vec[int] = [10]; let v: [int] = ~[10];
let x: int = 0; let x: int = 0;
assert (v.(x) == 10); assert (v.(x) == 10);
// Bounds-check failure. // Bounds-check failure.

View file

@ -3,7 +3,7 @@
// error-pattern:bounds check // error-pattern:bounds check
// no-valgrind // no-valgrind
fn main() { fn main() {
let v: vec[int] = [10, 20]; let v: [int] = ~[10, 20];
let x: int = 0; let x: int = 0;
assert (v.(x) == 10); assert (v.(x) == 10);
// Bounds-check failure. // Bounds-check failure.

View file

@ -7,12 +7,12 @@ import std::option::some;
fn foo[T](y: &option::t[T]) { fn foo[T](y: &option::t[T]) {
let x: int; let x: int;
let rs: vec[int] = []; let rs: [int] = ~[];
/* tests that x doesn't get put in the precondition for the /* tests that x doesn't get put in the precondition for the
entire if expression */ entire if expression */
if true { if true {
} else { alt y { none[T]. { x = 17; } _ { x = 42; } } rs += [x]; } } else { alt y { none[T]. { x = 17; } _ { x = 42; } } rs += ~[x]; }
ret; ret;
} }

View file

@ -1,7 +1,8 @@
use std;
import std::ivec;
fn main(args: vec[str]) { fn main(args: vec[str]) {
let vs: vec[str] = ["hi", "there", "this", "is", "a", "vec"]; let vs: [str] = ~["hi", "there", "this", "is", "a", "vec"];
let vvs: vec[vec[str]] = [args, vs]; let vvs: [[str]] = ~[ivec::from_vec(args), vs];
for vs: vec[str] in vvs { for s: str in vs { log s; } } for vs: [str] in vvs { for s: str in vs { log s; } }
} }

View file

@ -1,7 +1,7 @@
fn main() { fn main() {
fn echo[T](c: int, x: vec[T]) { } fn echo[T](c: int, x: &[T]) { }
let y: fn(vec[int]) = bind echo(42, _); let y: fn(&[int]) = bind echo(42, _);
y([1]); y(~[1]);
} }

View file

@ -1,7 +1,7 @@
fn iter_vec[T](v: &vec[T], f: &block(&T) ) { for x: T in v { f(x); } } fn iter_vec[T](v: &[T], f: &block(&T) ) { for x: T in v { f(x); } }
fn main() { fn main() {
let v = [1, 2, 3, 4, 5, 6, 7]; let v = ~[1, 2, 3, 4, 5, 6, 7];
let odds = 0; let odds = 0;
iter_vec(v, iter_vec(v,
block (i: &int) { block (i: &int) {

View file

@ -1,7 +1,7 @@
fn iter_vec[T](v: &vec[T], f: &block(&T) ) { for x: T in v { f(x); } } fn iter_vec[T](v: &[T], f: &block(&T) ) { for x: T in v { f(x); } }
fn main() { fn main() {
let v = [1, 2, 3, 4, 5]; let v = ~[1, 2, 3, 4, 5];
let sum = 0; let sum = 0;
iter_vec(v, iter_vec(v,
block (i: &int) { block (i: &int) {

View file

@ -2,14 +2,14 @@
// -*- rust -*- // -*- rust -*-
fn some_vec(x: int) -> vec[int] { ret []; } fn some_box(x: int) -> @int { ret @x; }
fn is_odd(n: int) -> bool { ret true; } fn is_odd(n: int) -> bool { ret true; }
fn length_is_even(vs: vec[int]) -> bool { ret true; } fn length_is_even(vs: @int) -> bool { ret true; }
fn foo(acc: int, n: int) { fn foo(acc: int, n: int) {
if is_odd(n) && length_is_even(some_vec(1)) { log_err "bloop"; } if is_odd(n) && length_is_even(some_box(1)) { log_err "bloop"; }
} }
fn main() { foo(67, 5); } fn main() { foo(67, 5); }

View file

@ -2,14 +2,14 @@
// -*- rust -*- // -*- rust -*-
fn some_vec(x: int) -> vec[int] { ret []; } fn some_box(x: int) -> @int { ret @x; }
fn is_odd(n: int) -> bool { ret true; } fn is_odd(n: int) -> bool { ret true; }
fn length_is_even(vs: vec[int]) -> bool { ret true; } fn length_is_even(vs: @int) -> bool { ret true; }
fn foo(acc: int, n: int) { fn foo(acc: int, n: int) {
if is_odd(n) || length_is_even(some_vec(1)) { log_err "bloop"; } if is_odd(n) || length_is_even(some_box(1)) { log_err "bloop"; }
} }
fn main() { foo(67, 5); } fn main() { foo(67, 5); }

View file

@ -6,7 +6,7 @@ fn main() {
assert (i == 10); assert (i == 10);
do { i += 1; if i == 20 { break; } } while i < 30 do { i += 1; if i == 20 { break; } } while i < 30
assert (i == 20); assert (i == 20);
for x: int in [1, 2, 3, 4, 5, 6] { for x: int in ~[1, 2, 3, 4, 5, 6] {
if x == 3 { break; } if x == 3 { break; }
assert (x <= 3); assert (x <= 3);
} }
@ -14,7 +14,7 @@ fn main() {
while i < 10 { i += 1; if i % 2 == 0 { cont; } assert (i % 2 != 0); } while i < 10 { i += 1; if i % 2 == 0 { cont; } assert (i % 2 != 0); }
i = 0; i = 0;
do { i += 1; if i % 2 == 0 { cont; } assert (i % 2 != 0); } while i < 10 do { i += 1; if i % 2 == 0 { cont; } assert (i % 2 != 0); } while i < 10
for x: int in [1, 2, 3, 4, 5, 6] { for x: int in ~[1, 2, 3, 4, 5, 6] {
if x % 2 == 0 { cont; } if x % 2 == 0 { cont; }
assert (x % 2 != 0); assert (x % 2 != 0);
} }

View file

@ -1,3 +1,3 @@
fn main() { let v: vec[mutable int] = [mutable ]; } fn main() { let v: [mutable int] = ~[mutable ]; }

View file

@ -4,7 +4,7 @@ fn test_simple() {
} }
fn test_box() { fn test_box() {
let r = alt true { true { [10] } false { fail } }; let r = alt true { true { ~[10] } false { fail } };
assert (r.(0) == 10); assert (r.(0) == 10);
} }

View file

@ -10,9 +10,9 @@ fn test_generic[T](expected: &T, eq: &compare[T]) {
} }
fn test_vec() { fn test_vec() {
fn compare_vec(v1: &vec[int], v2: &vec[int]) -> bool { ret v1 == v2; } fn compare_box(v1: &@int, v2: &@int) -> bool { ret v1 == v2; }
let eq = bind compare_vec(_, _); let eq = bind compare_box(_, _);
test_generic[vec[int]]([1, 2, 3], eq); test_generic[@int](@1, eq);
} }
fn main() { test_vec(); } fn main() { test_vec(); }

View file

@ -10,9 +10,9 @@ fn test_generic[T](expected: &T, eq: &compare[T]) {
} }
fn test_vec() { fn test_vec() {
fn compare_vec(v1: &vec[int], v2: &vec[int]) -> bool { ret v1 == v2; } fn compare_vec(v1: &@int, v2: &@int) -> bool { ret v1 == v2; }
let eq = bind compare_vec(_, _); let eq = bind compare_vec(_, _);
test_generic[vec[int]]([1, 2], eq); test_generic[@int](@1, eq);
} }
fn main() { test_vec(); } fn main() { test_vec(); }

View file

@ -1,2 +1,2 @@
// Regression test for issue #388 // Regression test for issue #388
fn main() { let x = { { [10] } }; } fn main() { let x = { { @10 } }; }

View file

@ -1,7 +1,7 @@
// Make sure we drop the refs of the temporaries needed to return the // Make sure we drop the refs of the temporaries needed to return the
// values from the else if branch // values from the else if branch
fn main() { fn main() {
let y: vec[uint] = [10u]; let y: @uint = @10u;
let x = if false { y } else if (true) { y } else { y }; let x = if false { y } else if (true) { y } else { y };
assert (y.(0) == 10u); assert (y == 10u);
} }

View file

@ -1,4 +1,4 @@
// Regression test for issue #388 // Regression test for issue #388
fn main() { fn main() {
let x = if false { [0u] } else if (true) { [10u] } else { [0u] }; let x = if false { @0u } else if (true) { @10u } else { @0u };
} }

View file

@ -4,7 +4,7 @@ fn test_int() {
} }
fn test_vec() { fn test_vec() {
fn f() -> vec[int] { [10, 11] } fn f() -> [int] { ~[10, 11] }
assert (f().(1) == 11); assert (f().(1) == 11);
} }

View file

@ -10,9 +10,9 @@ fn test_generic[T](expected: &T, not_expected: &T, eq: &compare[T]) {
} }
fn test_vec() { fn test_vec() {
fn compare_vec(v1: &vec[int], v2: &vec[int]) -> bool { ret v1 == v2; } fn compare_box(v1: &@int, v2: &@int) -> bool { ret v1 == v2; }
let eq = bind compare_vec(_, _); let eq = bind compare_box(_, _);
test_generic[vec[int]]([1, 2], [2, 3], eq); test_generic[@int](@1, @2, eq);
} }
fn main() { test_vec(); } fn main() { test_vec(); }

View file

@ -1 +1 @@
fn main() { let x: vec[int] = []; for i: int in x { fail "moop"; } } fn main() { let x: [int] = ~[]; for i: int in x { fail "moop"; } }

View file

@ -10,7 +10,7 @@ iter range(start: int, stop: int) -> int {
} }
fn main() { fn main() {
let a: vec[mutable int] = [mutable -1, -1, -1, -1, -1, -1, -1, -1]; let a: [mutable int] = ~[mutable -1, -1, -1, -1, -1, -1, -1, -1];
let p: int = 0; let p: int = 0;
for each i: int in two() { for each i: int in two() {
for each j: int in range(0, 2) { for each j: int in range(0, 2) {

View file

@ -5,7 +5,7 @@
iter two() -> int { put 0; put 1; } iter two() -> int { put 0; put 1; }
fn main() { fn main() {
let a: vec[mutable int] = [mutable -1, -1, -1, -1]; let a: [mutable int] = ~[mutable -1, -1, -1, -1];
let p: int = 0; let p: int = 0;
for each i: int in two() { for each i: int in two() {
for each j: int in two() { a.(p) = 10 * i + j; p += 1; } for each j: int in two() { a.(p) = 10 * i + j; p += 1; }

View file

@ -3,7 +3,7 @@
// This is a testcase for issue #94. // This is a testcase for issue #94.
fn main() { fn main() {
let v: vec[int] = [0, 1, 2, 3, 4, 5]; let v: [int] = ~[0, 1, 2, 3, 4, 5];
let s: str = "abcdef"; let s: str = "abcdef";
assert (v.(3u) == 3); assert (v.(3u) == 3);
assert (v.(3u8) == 3); assert (v.(3u8) == 3);

View file

@ -1,7 +1,7 @@
fn main() { fn main() {
let x = [1, 2, 3]; let x = ~[1, 2, 3];
let y = 0; let y = 0;
for i: int in x { log i; y += i; } for i: int in x { log i; y += i; }
log y; log y;

View file

@ -2,15 +2,15 @@
// -*- rust -*- // -*- rust -*-
fn len(v: vec[mutable? int]) -> uint { fn len(v: [mutable? int]) -> uint {
let i = 0u; let i = 0u;
for x: int in v { i += 1u; } for x: int in v { i += 1u; }
ret i; ret i;
} }
fn main() { fn main() {
let v0 = [1, 2, 3, 4, 5]; let v0 = ~[1, 2, 3, 4, 5];
log len(v0); log len(v0);
let v1 = [mutable 1, 2, 3, 4, 5]; let v1 = ~[mutable 1, 2, 3, 4, 5];
log len(v1); log len(v1);
} }

View file

@ -1,6 +1,6 @@
fn main() { fn main() {
// This just tests whether the vec leaks its members. // This just tests whether the vec leaks its members.
let pvec: vec[mutable @{a: int, b: int}] = let pvec: [mutable @{a: int, b: int}] =
[mutable @{a: 1, b: 2}, @{a: 3, b: 4}, @{a: 5, b: 6}]; ~[mutable @{a: 1, b: 2}, @{a: 3, b: 4}, @{a: 5, b: 6}];
} }

View file

@ -1,11 +1,11 @@
tag myvec[X] = vec[X]; tag myvec[X] = [X];
fn myvec_deref[X](mv: &myvec[X]) -> vec[X] { ret *mv; } fn myvec_deref[X](mv: &myvec[X]) -> [X] { ret *mv; }
fn myvec_elt[X](mv: &myvec[X]) -> X { ret mv.(0); } fn myvec_elt[X](mv: &myvec[X]) -> X { ret mv.(0); }
fn main() { fn main() {
let mv = myvec([1, 2, 3]); let mv = myvec(~[1, 2, 3]);
assert (myvec_deref(mv).(1) == 2); assert (myvec_deref(mv).(1) == 2);
assert (myvec_elt(mv) == 1); assert (myvec_elt(mv) == 1);
assert (mv.(2) == 3); assert (mv.(2) == 3);

View file

@ -1,10 +1,10 @@
fn main() { fn main() {
obj buf(data: vec[u8]) { obj buf(data: [u8]) {
fn get(i: int) -> u8 { ret data.(i); } fn get(i: int) -> u8 { ret data.(i); }
} }
let b = buf([1 as u8, 2 as u8, 3 as u8]); let b = buf(~[1 as u8, 2 as u8, 3 as u8]);
log b.get(1); log b.get(1);
assert (b.get(1) == 2 as u8); assert (b.get(1) == 2 as u8);
} }

View file

@ -4,13 +4,13 @@ fn main() {
assert ("hello" < "hellr"); assert ("hello" < "hellr");
assert ("hello " > "hello"); assert ("hello " > "hello");
assert ("hello" != "there"); assert ("hello" != "there");
assert ([1, 2, 3, 4] > [1, 2, 3]); assert (~[1, 2, 3, 4] > ~[1, 2, 3]);
assert ([1, 2, 3] < [1, 2, 3, 4]); assert (~[1, 2, 3] < ~[1, 2, 3, 4]);
assert ([1, 2, 4, 4] > [1, 2, 3, 4]); assert (~[1, 2, 4, 4] > ~[1, 2, 3, 4]);
assert ([1, 2, 3, 4] < [1, 2, 4, 4]); assert (~[1, 2, 3, 4] < ~[1, 2, 4, 4]);
assert ([1, 2, 3] <= [1, 2, 3]); assert (~[1, 2, 3] <= ~[1, 2, 3]);
assert ([1, 2, 3] <= [1, 2, 3, 3]); assert (~[1, 2, 3] <= ~[1, 2, 3, 3]);
assert ([1, 2, 3, 4] > [1, 2, 3]); assert (~[1, 2, 3, 4] > ~[1, 2, 3]);
assert ([1, 2, 3] == [1, 2, 3]); assert (~[1, 2, 3] == ~[1, 2, 3]);
assert ([1, 2, 3] != [1, 1, 3]); assert (~[1, 2, 3] != ~[1, 1, 3]);
} }

View file

@ -4,7 +4,7 @@
// -*- rust -*- // -*- rust -*-
tag clam[T] { a(T, int); b; } tag clam[T] { a(T, int); b; }
fn uhoh[T](v: vec[clam[T]]) { fn uhoh[T](v: &[clam[T]]) {
alt v.(1) { alt v.(1) {
a[T](t, u) { log "incorrect"; log u; fail; } a[T](t, u) { log "incorrect"; log u; fail; }
b[T]. { log "correct"; } b[T]. { log "correct"; }
@ -12,6 +12,6 @@ fn uhoh[T](v: vec[clam[T]]) {
} }
fn main() { fn main() {
let v: vec[clam[int]] = [b[int], b[int], a[int](42, 17)]; let v: [clam[int]] = ~[b[int], b[int], a[int](42, 17)];
uhoh[int](v); uhoh[int](v);
} }

View file

@ -1,7 +1,7 @@
fn swap[@T](v: &vec[mutable T], i: int, j: int) { v.(i) <-> v.(j); } fn swap[@T](v: &[mutable T], i: int, j: int) { v.(i) <-> v.(j); }
fn main() { fn main() {
let a: vec[mutable int] = [mutable 0, 1, 2, 3, 4, 5, 6]; let a: [mutable int] = ~[mutable 0, 1, 2, 3, 4, 5, 6];
swap(a, 2, 4); swap(a, 2, 4);
assert (a.(2) == 4); assert (a.(2) == 4);
assert (a.(4) == 2); assert (a.(4) == 2);

View file

@ -15,8 +15,8 @@ fn test00() {
let number_of_tasks: int = 8; let number_of_tasks: int = 8;
let i: int = 0; let i: int = 0;
let tasks: vec[task] = []; let tasks: [task] = ~[];
while i < number_of_tasks { i = i + 1; tasks += [spawn start(i)]; } while i < number_of_tasks { i = i + 1; tasks += ~[spawn start(i)]; }
for t: task in tasks { task::join(t); } for t: task in tasks { task::join(t); }

View file

@ -24,9 +24,10 @@ fn test00() {
let i: int = 0; let i: int = 0;
// Create and spawn tasks... // Create and spawn tasks...
let tasks: vec[task] = []; let tasks: [task] = ~[];
while i < number_of_tasks { while i < number_of_tasks {
tasks += [spawn test00_start(ch.unsafe_ptr(), i, number_of_messages)]; tasks +=
~[spawn test00_start(ch.unsafe_ptr(), i, number_of_messages)];
i = i + 1; i = i + 1;
} }

View file

@ -29,10 +29,10 @@ fn test00() {
let i: int = 0; let i: int = 0;
let tasks: vec[task] = []; let tasks: [task] = ~[];
while i < number_of_tasks { while i < number_of_tasks {
i = i + 1; i = i + 1;
tasks += [spawn test00_start(ch, i, number_of_messages)]; tasks += ~[spawn test00_start(ch, i, number_of_messages)];
} }
let sum: int = 0; let sum: int = 0;
@ -132,8 +132,9 @@ fn test06() {
let i: int = 0; let i: int = 0;
let tasks: vec[task] = []; let tasks: [task] = ~[];
while i < number_of_tasks { i = i + 1; tasks += [spawn test06_start(i)]; } while i < number_of_tasks {
i = i + 1; tasks += ~[spawn test06_start(i)]; }
for t: task in tasks { task::join(t); } for t: task in tasks { task::join(t); }

View file

@ -5,8 +5,8 @@ iter range(lo: uint, hi: uint) -> uint {
while lo_ < hi { put lo_; lo_ += 1u; } while lo_ < hi { put lo_; lo_ += 1u; }
} }
fn create_index[T](index: vec[{a: T, b: uint}], hash_fn: fn(&T) -> uint ) { fn create_index[T](index: &[{a: T, b: uint}], hash_fn: fn(&T) -> uint ) {
for each i: uint in range(0u, 256u) { let bucket: vec[T] = []; } for each i: uint in range(0u, 256u) { let bucket: [T] = ~[]; }
} }
fn main() { } fn main() { }

View file

@ -3,9 +3,9 @@
// -*- rust -*- // -*- rust -*-
fn main() { fn main() {
let a: vec[int] = [1, 2, 3, 4, 5]; let a: [int] = ~[1, 2, 3, 4, 5];
let b: vec[int] = [6, 7, 8, 9, 0]; let b: [int] = ~[6, 7, 8, 9, 0];
let v: vec[int] = a + b; let v: [int] = a + b;
log v.(9); log v.(9);
assert (v.(0) == 1); assert (v.(0) == 1);
assert (v.(7) == 8); assert (v.(7) == 8);

View file

@ -3,6 +3,6 @@
fn main() { fn main() {
// This just tests whether the vec leaks its members. // This just tests whether the vec leaks its members.
let pvec: vec[@{x: int, y: int}] = let pvec: [@{x: int, y: int}] =
[@{x: 1, y: 2}, @{x: 3, y: 4}, @{x: 5, y: 6}]; ~[@{x: 1, y: 2}, @{x: 3, y: 4}, @{x: 5, y: 6}];
} }

View file

@ -1,11 +1,11 @@
fn main() { fn main() {
let v = [1]; let v = ~[1];
v += [2]; v += ~[2];
v += [3]; v += ~[3];
v += [4]; v += ~[4];
v += [5]; v += ~[5];
assert (v.(0) == 1); assert (v.(0) == 1);
assert (v.(1) == 2); assert (v.(1) == 2);
assert (v.(2) == 3); assert (v.(2) == 3);

View file

@ -1 +1 @@
fn main() { let a = ~[1, 2, 3, 4, 5]; let b = [a, a]; b += b; } fn main() { let a = ~[1, 2, 3, 4, 5]; let b = ~[a, a]; b += b; }

View file

@ -1,7 +1,7 @@
fn main() { fn main() {
let later: vec[int]; let later: [int];
if true { later = [1]; } else { later = [2]; } if true { later = ~[1]; } else { later = ~[2]; }
log later.(0); log later.(0);
} }

View file

@ -1,5 +1,5 @@
fn push[T](v: &mutable vec[mutable? T], t: &T) { v += [t]; } fn push[T](v: &mutable [mutable? T], t: &T) { v += ~[t]; }
fn main() { let v = [1, 2, 3]; push(v, 1); } fn main() { let v = ~[1, 2, 3]; push(v, 1); }

View file

@ -3,7 +3,7 @@
// -*- rust -*- // -*- rust -*-
fn main() { fn main() {
let v: vec[int] = [10, 20]; let v: [int] = ~[10, 20];
assert (v.(0) == 10); assert (v.(0) == 10);
assert (v.(1) == 20); assert (v.(1) == 20);
let x: int = 0; let x: int = 0;

View file

@ -1 +1 @@
fn main() { let quux: @vec[uint] = @[]; } fn main() { let quux: @[uint] = @~[]; }

View file

@ -8,8 +8,8 @@ fn main() {
log i; log i;
i = i + 1; i = i + 1;
if i == 95 { if i == 95 {
let v: vec[int] = let v: [int] =
[1, 2, 3, 4, 5]; // we check that it is freed by break ~[1, 2, 3, 4, 5]; // we check that it is freed by break
log "breaking"; log "breaking";
break; break;