//@ run-pass //@ compile-flags: -Zcontract-checks=yes #![feature(contracts)] //~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features] extern crate core; use core::contracts::{ensures, requires}; // checks that variable declarations are lowered properly, with the ability to // refer to them *both* in requires and ensures #[requires(let y = 2 * x; y > 0)] #[ensures(move |ret| { *ret == y })] fn foo(x: u32) -> u32 { x * 2 } fn main() { foo(1); }