| Crates.io | genawaiter-macro |
| lib.rs | genawaiter-macro |
| version | 0.99.1 |
| created_at | 2020-02-16 22:49:16.23501+00 |
| updated_at | 2020-03-09 00:03:50.696289+00 |
| description | Convenience macros for generators (genawaiter) |
| homepage | |
| repository | https://github.com/whatisaphone/genawaiter |
| max_upload_size | |
| id | 209905 |
| size | 3,349 |
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:
default-features = []Example:
let odd_numbers_less_than_ten = gen!({
let mut n = 1;
while n < 10 {
yield_!(n); // Suspend a function at any point with a value.
n += 2;
}
});
// Generators can be used as ordinary iterators.
for num in odd_numbers_less_than_ten {
println!("{}", num);
}
Result:
1
3
5
7
9
pre-commit install
This installs a Git hook that runs a quick sanity check before every commit.
cargo run
cargo test