aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/generic-temporary.rs
blob: 2f697124625140ffaf0c6277e3d495fb5b97c363 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
fn mk() -> int {
  ret 1;
}

fn chk(&int a) {
  log a;
  assert (a == 1);
}

fn apply[T](fn() -> T produce, fn(&T) consume) {
  consume(produce());
}

fn main() {
  let (fn()->int) produce = mk;
  let (fn(&int)) consume = chk;
  apply[int](produce, consume);
}