aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/fact.rs
blob: 91cf099c3acb09e51cdf79c6a3a486bfe2d96002 (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 () {
  check (f(5) == 120);
  // log "all done";
}