//@ 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); | |
} |