2个版本

0.1.1 2023年12月5日
0.1.0 2022年2月16日

#660数据结构

Download history 44/week @ 2024-04-02 2/week @ 2024-05-21

每月177次下载

MIT/Apache

92KB
2K SLoC

Rust 1.5K SLoC // 0.2% comments Assembly 188 SLoC // 0.1% comments GNU Style Assembly 168 SLoC // 0.0% comments

Build Status Build Status Current Crates.io Version Document

Generator-rs

rust栈满生成器库

[dependencies]
generator = "0.7"

用法

use mco_gen::{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
    • aarch64 Linux

许可

该项目根据以下任一许可进行许可,由您选择

依赖

~48–485KB