If you don't mind changing ntimes to not return a closure:

fn ntimes<T>(f: &fn(T) -> T, times: uint, x: T) -> T {
    match times {
        0u => x,
        _  => ntimes(|x| f(x), times - 1u, f(x))
    }
}

fn main() {
    println(format!("{:d}", ntimes(|k| k*2, 2u, 3)));
}
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to