blob: b63b534d03f12fa94b38989e6300b29c13b5a884 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 | // 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);
}
 |