summary refs log tree commit diff
path: root/src/test/compile-fail/if-check-precond-fail.rs
blob: 4545277e18d6921309bc02d15a9a644644354518 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
// error-pattern:unsatisfied precondition constraint
pure fn even(x: uint) -> bool {
    if x < 2u {
        ret false;
    } else if x == 2u { ret true; } else { ret even(x - 2u); }
}

fn print_even(x: uint) : even(x) { log(debug, x); }

fn foo(x: uint) { if check even(x) { fail; } else { print_even(x); } }

fn main() { foo(3u); }