![crate-badge] ![docs-badge] ![ci-badge]
This crate implements stackless generators (aka coroutines) in stable Rust. Instead of using yield
, which won't be stabilized anytime soon, you use async
/await
, which is stable today.
Features:
Example:
```rust let generator = Gen::new(|co| async move { let mut n = 1; while n < 10 { // Suspend a function at any point with a value. co.yield_(n).await; n += 2; } });
// Generators can be used as ordinary iterators. for num in generator { println!("{}", num); } ```
Result:
text
1
3
5
7
9