diff options
Diffstat (limited to 'src/test/compile-fail/tstate-loop-constraints.rs')
| -rw-r--r-- | src/test/compile-fail/tstate-loop-constraints.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/compile-fail/tstate-loop-constraints.rs b/src/test/compile-fail/tstate-loop-constraints.rs new file mode 100644 index 00000000000..34ff0753d86 --- /dev/null +++ b/src/test/compile-fail/tstate-loop-constraints.rs @@ -0,0 +1,19 @@ +pure fn is_even(i: int) -> bool { (i%2) == 0 } +fn even(i: int) : is_even(i) -> int { i } + +fn main() { + + let mut x: int = 42; + loop { + loop { + loop { + check is_even(x); + even(x); // OK + loop { + even(x); //! ERROR unsatisfied precondition + x = 11; + } + } + } + } +} |
