recursion/
recursion.rs

1extern crate closures;
2
3use closures::RecClosure1;
4
5fn main() {
6    let mult5 = RecClosure1::new(5, |this, n| {
7        if n > 0 {
8            this.state() + this(n-1)
9        }
10        else {
11            0
12        }
13    });
14
15    println!("{}", mult5(9));
16
17    assert_eq!(mult5(9), 45);
18}