// run-pass
// ignore-emscripten apparently blows the stack

fn f(x: isize) -> isize {
    if x == 1 { return 1; } else { let y: isize = 1 + f(x - 1); return y; }
}

pub fn main() { assert_eq!(f(5000), 5000); }