diff options
Diffstat (limited to 'src/test/compile-fail')
| -rw-r--r-- | src/test/compile-fail/impure-pred.rs | 17 | ||||
| -rw-r--r-- | src/test/compile-fail/not-a-pred-2.rs | 1 | ||||
| -rw-r--r-- | src/test/compile-fail/not-a-pred-3.rs | 1 | ||||
| -rw-r--r-- | src/test/compile-fail/not-a-pred-check.rs | 12 | ||||
| -rw-r--r-- | src/test/compile-fail/not-pred-args.rs | 1 | ||||
| -rw-r--r-- | src/test/compile-fail/pred-not-bool.rs | 13 |
6 files changed, 45 insertions, 0 deletions
diff --git a/src/test/compile-fail/impure-pred.rs b/src/test/compile-fail/impure-pred.rs new file mode 100644 index 00000000..b5ebc10e --- /dev/null +++ b/src/test/compile-fail/impure-pred.rs @@ -0,0 +1,17 @@ +// -*- rust -*- +// xfail-boot +// xfail-stage0 +// error-pattern: impure function + +fn g() -> () {} + +pred f(int q) -> bool { + g(); + ret true; +} + +fn main() { + auto x = 0; + + check f(x); +} diff --git a/src/test/compile-fail/not-a-pred-2.rs b/src/test/compile-fail/not-a-pred-2.rs index c8ac4a08..07ea13b3 100644 --- a/src/test/compile-fail/not-a-pred-2.rs +++ b/src/test/compile-fail/not-a-pred-2.rs @@ -1,5 +1,6 @@ // -*- rust -*- // xfail-boot +// xfail-stage0 // error-pattern: non-predicate diff --git a/src/test/compile-fail/not-a-pred-3.rs b/src/test/compile-fail/not-a-pred-3.rs index ea1b6cc0..f4dafd20 100644 --- a/src/test/compile-fail/not-a-pred-3.rs +++ b/src/test/compile-fail/not-a-pred-3.rs @@ -1,5 +1,6 @@ // -*- rust -*- // xfail-boot +// xfail-stage0 // error-pattern: expected the constraint name diff --git a/src/test/compile-fail/not-a-pred-check.rs b/src/test/compile-fail/not-a-pred-check.rs new file mode 100644 index 00000000..55698ad2 --- /dev/null +++ b/src/test/compile-fail/not-a-pred-check.rs @@ -0,0 +1,12 @@ +// -*- rust -*- +// xfail-boot +// xfail-stage0 +// error-pattern: non-predicate + +fn f(int q) -> bool { ret true; } + +fn main() { + auto x = 0; + + check f(x); +} diff --git a/src/test/compile-fail/not-pred-args.rs b/src/test/compile-fail/not-pred-args.rs index c92b4ff9..7fe6220a 100644 --- a/src/test/compile-fail/not-pred-args.rs +++ b/src/test/compile-fail/not-pred-args.rs @@ -1,5 +1,6 @@ // -*- rust -*- // xfail-boot +// xfail-stage0 // error-pattern: Constraint args must be diff --git a/src/test/compile-fail/pred-not-bool.rs b/src/test/compile-fail/pred-not-bool.rs new file mode 100644 index 00000000..c0d19ef2 --- /dev/null +++ b/src/test/compile-fail/pred-not-bool.rs @@ -0,0 +1,13 @@ +// -*- rust -*- + +// error-pattern: mismatched types + +// this checks that a pred with a non-bool return +// type is rejected, even if the pred is never used + +pred bad(int a) -> int { + ret 37; +} + +fn main() { +} |