diff options
Diffstat (limited to 'src/test/ui/fact.rs')
-rw-r--r-- | src/test/ui/fact.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/fact.rs b/src/test/ui/fact.rs new file mode 100644 index 000000000..c6c2f57e7 --- /dev/null +++ b/src/test/ui/fact.rs @@ -0,0 +1,26 @@ +// run-pass + +fn f(x: isize) -> isize { + // println!("in f:"); + + println!("{}", x); + if x == 1 { + // println!("bottoming out"); + + return 1; + } else { + // println!("recurring"); + + let y: isize = x * f(x - 1); + // println!("returned"); + + println!("{}", y); + return y; + } +} + +pub fn main() { + assert_eq!(f(5), 120); + // println!("all done"); + +} |