genawaiter
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:
- supports resume arguments and completion values
- allocation-free
- no runtime dependencies
- no compile-time dependencies either, with
default-features = []
- no compile-time dependencies either, with
- built on top of standard language constructs, which means there are no platform-specific shenanigans
Example:
let odd_numbers_less_than_ten = gen!;
// Generators can be used as ordinary iterators.
for num in odd_numbers_less_than_ten
Result:
1
3
5
7
9