Skip to content

Commit d04c1dd

Browse files
committed
---
yaml --- r: 4841 b: refs/heads/master c: 664b0ad h: refs/heads/master i: 4839: 3b1a38a v: v3
1 parent 81536d0 commit d04c1dd

File tree

3 files changed

+101
-1
lines changed

3 files changed

+101
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: d681f062c721a31574daaa15b81eba4be85cce2d
2+
refs/heads/master: 664b0ad3fcead4fe4d22c05065a82a338770c429
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// xfail-stage1
2+
// xfail-stage2
3+
// xfail-stage3
4+
// Fail statements without arguments need to be disambiguated in
5+
// certain positions
6+
// error-pattern:explicit-failure
7+
8+
fn bigfail() {
9+
do { while (fail) { if (fail) {
10+
alt (fail) { _ {
11+
}}
12+
}}} while fail;
13+
}
14+
15+
fn main() { bigfail(); }
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
// xfail-pretty
2+
// Just a grab bug of stuff that you wouldn't want to actualy write
3+
4+
fn strange() -> bool {
5+
let _x = ret true;
6+
}
7+
8+
fn funny() {
9+
fn f(_x: ()) {}
10+
f(ret);
11+
}
12+
13+
fn odd() {
14+
// FIXME: This doesn't compile
15+
// log ret;
16+
}
17+
18+
fn what() {
19+
fn the(x: @mutable bool){
20+
ret while !*x { *x = true };
21+
}
22+
let i = @mutable false;
23+
let dont = bind the(i);
24+
dont();
25+
assert *i;
26+
}
27+
28+
fn zombiejesus() {
29+
do { while (ret) { if (ret) {
30+
alt (ret) { _ {
31+
ret ? ret : ret
32+
}}
33+
}}} while ret;
34+
}
35+
36+
fn notsure() {
37+
let _x;
38+
let _y = (_x = 0) == (_x = 0);
39+
let _z = (_x <- 0) < (_x = 0);
40+
let _a = (_x += 0) == (_x = 0);
41+
let _b = (_y <-> _z) == (_y <-> _z);
42+
}
43+
44+
fn hammertime() -> int {
45+
// FIXME: Doesn't compile
46+
//let _x = log true == (ret 0);
47+
ret 0;
48+
}
49+
50+
fn canttouchthis() -> uint {
51+
pred p() -> bool { true }
52+
let _a = (assert true) == (check p());
53+
let _c = (check p()) == ();
54+
let _b = (log 0) == (ret 0u);
55+
}
56+
57+
fn angrydome() {
58+
while true {
59+
if (break) { }
60+
}
61+
let i = 0;
62+
do {
63+
i += 1;
64+
if i == 1 {
65+
alt cont { _ { } }
66+
}
67+
} while false;
68+
}
69+
70+
fn evil_lincoln() {
71+
let evil <- log "lincoln";
72+
}
73+
74+
fn main() {
75+
strange();
76+
funny();
77+
odd();
78+
what();
79+
zombiejesus();
80+
notsure();
81+
hammertime();
82+
canttouchthis();
83+
angrydome();
84+
evil_lincoln();
85+
}

0 commit comments

Comments
 (0)