Xudong-Huang / generator-rs

rust stackful generator library
Apache License 2.0
286 stars 35 forks source link
generator rust stackful-coroutines yield

Build Status Current Crates.io Version Document

Generator-rs

rust stackful generator library

[dependencies]
generator = "0.8"

Usage

use generator::{done, Gn};

fn main() {
    let g = Gn::new_scoped(|mut s| {
        let (mut a, mut b) = (0, 1);
        while b < 200 {
            std::mem::swap(&mut a, &mut b);
            b = a + b;
            s.yield_(b);
        }
        done!();
    });

    for i in g {
        println!("{}", i);
    }
}

Output

1
2
3
5
8
13
21
34
55
89
144
233

Goals

based on this basic library

Notices

License

This project is licensed under either of the following, at your option: