extern crate itertools; use itertools::Unfold; fn main() { for n in Unfold::new(1, |state| { if *state < 100 { *state += 1; Some(*state) } else { None } }) { println!("{}", n); } }