fn iterate<T, F>(initial: T, f: F) -> Iterate<T, F> {
    Iterate {
        state: initial,
        f: f,
    }
}

pub struct Iterate<T, F> {
    state: T,
    f: F
}

impl<T: Clone, F> Iterator for Iterate<T, F> where F: Fn(&T) -> T {
    type Item = T;

    #[inline]
    fn next(&mut self) -> Option<Self::Item> {
        self.state = (self.f)(&self.state);
        Some(self.state.clone())
    }
    #[inline]
    fn size_hint(&self) -> (usize, Option<usize>) { (std::usize::MAX, None) }
}

fn main() {
    let a = iterate(0, |x| x+1);
    println!("{:?}", a.iter().take(10).collect::<Vec<usize>>());
    //~^ ERROR no method named `iter` found for type `Iterate<{integer}
}
