Skip to content

Commit 9838a7e

Browse files
committed
Tweak some test cases and add a few new ones
1 parent eb9d0e8 commit 9838a7e

8 files changed

+61
-8
lines changed
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// error-pattern:mismatched types: expected `()` but found `bool`
22

33
fn main() {
4-
do {
4+
loop {
55
true
6-
} while true;
6+
}
77
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// error-pattern:mismatched types: expected `()` but found `bool`
22

33
fn main() {
4-
loop {
4+
while true {
55
true
66
}
77
}

src/test/compile-fail/do-while-constraints.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ fn main() {
33

44
let y: int = 42;
55
let x: int;
6-
do {
6+
loop {
77
log(debug, y);
88
do { do { do { x <- y; } while true } while true } while true
9-
} while true
9+
}
1010
}

src/test/compile-fail/do-while-pred-constraints.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ pure fn even(y: int) -> bool { true }
77
fn main() {
88
let y: int = 42;
99
check (even(y));
10-
do {
10+
loop {
1111
print_even(y);
1212
do { do { do { y += 1; } while false } while false } while false
13-
} while true
13+
}
1414
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// error-pattern:unreachable statement
2+
fn main() {
3+
loop{}
4+
// red herring to make sure compilation fails
5+
log(error, 42 == 'c');
6+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
fn main() {
2+
let i = 0u;
3+
loop {
4+
break;
5+
}
6+
assert true;
7+
}

src/test/run-pass/loop-break-cont.rs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// xfail-test
2+
// runs forever for some reason -- investigating
3+
fn main() {
4+
let i = 0u;
5+
loop {
6+
log(error, "a");
7+
i += 1u;
8+
if i == 10u {
9+
break;
10+
}
11+
}
12+
assert (i == 10u);
13+
let is_even = false;
14+
loop {
15+
log(error, "b");
16+
is_even = false;
17+
i += 1u;
18+
if i % 2u != 0u {
19+
cont;
20+
}
21+
is_even = true;
22+
if i == 21u {
23+
break;
24+
}
25+
}
26+
assert !is_even;
27+
loop {
28+
log(error, "c");
29+
is_even = false;
30+
if i == 22u {
31+
break;
32+
}
33+
i += 1u;
34+
if i % 2u != 0u {
35+
cont;
36+
}
37+
is_even = true;
38+
}
39+
assert is_even;
40+
}

src/test/run-pass/terminate-in-initializer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// xfail-win32 leaks
22
// Issue #787
3-
// Don't try to clean up uninitizaed locals
3+
// Don't try to clean up uninitialized locals
44

55
use std;
66

0 commit comments

Comments
 (0)