]> git.lizzy.rs Git - rust.git/blob - src/test/run-pass/tail-cps.rs
Populate tree.
[rust.git] / src / test / run-pass / tail-cps.rs
1 // -*- rust -*-
2
3 fn checktrue(bool res) -> bool {
4   check(res);
5   ret true;
6 }
7
8 fn main() {
9   auto k = checktrue;
10   evenk(42, k);
11   oddk(45, k);
12 }
13
14 fn evenk(int n, fn(bool) -> bool k) -> bool {
15   log "evenk";
16   log n;
17   if (n == 0) {
18     be k(true);
19   }
20   else {
21     be oddk(n - 1, k);
22   }
23 }
24
25 fn oddk(int n, fn(bool) -> bool k) -> bool {
26   log "oddk";
27   log n;
28   if (n == 0) {
29     be k(false);
30   }
31   else {
32     be evenk(n - 1, k);
33   }
34 }