// run-pass

fn mk() -> isize { return 1; }

fn chk(a: isize) { println!("{}", a); assert_eq!(a, 1); }

fn apply<T>(produce: fn() -> T,
            consume: fn(T)) {
    consume(produce());
}

pub fn main() {
    let produce: fn() -> isize = mk;
    let consume: fn(v: isize) = chk;
    apply::<isize>(produce, consume);
}
