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; } } } } }