[−][src]Function recur_fn::deref
pub fn deref<Arg, Output, D: Deref>(
d: D
) -> impl RecurFn<Arg, Output> where
D::Target: RecurFn<Arg, Output>,
Wraps a pointer that Deref
to RecurFn
to make it implement RecurFn
.
use recur_fn::{RecurFn, recur_fn, deref}; let fact = recur_fn(|fact, n: u64| if n == 0 { 1 } else { n * fact(n - 1) }); let fact = deref(&fact); assert_eq!(6, fact.call(3)); assert_eq!(3, fact.body(|_| 1, 3));