aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/fact.rs
blob: 577ee6a226eb75a58ebf1158a70de25fe932b763 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// -*- rust -*-

fn f(int x) -> int {
  // log "in f:";
  log x;
  if (x == 1) {
    // log "bottoming out";
    ret 1;
  } else {
    // log "recurring";
    let int y = x * f(x-1);
    // log "returned";
    log y;
    ret y;
  }
}
fn main () {
  assert (f(5) == 120);
  // log "all done";
}