iterator/
iterator.rs

1extern crate closures;
2
3use closures::ClosureMut;
4
5fn main() {
6    for ch in alphabet() {
7        println!("{}", ch);
8    }
9}
10
11fn alphabet() -> ClosureMut<u8, Option<char>> {
12    ClosureMut::new(b'a'-1, |ch| {
13        if *ch == b'z' {
14            return None
15        }
16
17        *ch += 1;
18
19        Some(*ch as char)
20    })
21}