35 个版本
0.8.2 | 2024 年 7 月 25 日 |
---|---|
0.8.1 | 2024 年 3 月 6 日 |
0.7.6 |
|
0.7.5 | 2023 年 6 月 24 日 |
0.2.0 | 2015 年 11 月 12 日 |
#31 在 数据结构
396,022 每月下载量
用于 1,024 个 (12 直接) 包
98KB
2.5K SLoC
Generator-rs
rust 堆栈生成器库
[dependencies]
generator = "0.8"
用法
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);
}
}
输出
1
2
3
5
8
13
21
34
55
89
144
233
目标
- 基本发送/产生支持消息
- 生成器取消支持
- yield_from 支持
- 生成器内 panic 支持
- 堆栈大小调整支持
- 作用域静态类型支持
- 基本协程接口支持
- 稳定 Rust 支持
基于此基本库
- 我们可以轻松地将基于生成器的 Python 库移植到 Rust
- 多线程运行的协程框架
注意
-
此包支持以下平台,欢迎为其他架构和平台做出贡献
- x86_64 Linux
- x86_64 macOS
- x86_64 Windows
- x86_64 Fuchsia
- x86_64 Android
- aarch64 Linux
- aarch64 macOS
- aarch64 Fuchsia
- aarch64 Android
- loongarch64 Linux
- armv7 Linux
- riscv64 Linux
许可证
本项目许可方式任选其一
- Apache 许可证,版本 2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
依赖项
~0–35MB
~529K SLoC