[−][src]Function idata::tc::tail_call
pub fn tail_call<T, R, F>(seed: T, recursive_function: F) -> R where
F: Fn(T) -> TailCall<T, R>,
Function to simulate TCO. See example
extern crate idata; use idata::tc::*; fn main() { let (sum, _) = tail_call((0, 0), |(acc, counter)| { if counter < 101 { TailCall::Call((acc + counter, counter + 1)) } else { TailCall::Return((acc, counter)) } }); assert!(sum == 5050); }