about summary refs log tree commit diff
path: root/src/test/compile-fail/tstate-loop-constraints.rs
blob: 731a7d0b6d8857f4a35fe8c42543da45c434fa77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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; 
                }
            }
        }
    }
}