无GAT解决流迭代器问题的三种办法
TLDR:
GAT是指Generic Associated Types ,是Rust将来的类型系统扩展,但是还未实现,它提供了一种可以使用高阶类型的方法。
一个比较场景的例子是流式迭代器。
Rust标准库中的迭代器API不允许生成从迭代器本身借用的元素。比如std::io::Lines,其实现迭代器只能读一行数据分配一个新的String,而不能重用内部缓存区。而流式迭代器可以允许通过引用迭代,而不是值,这样就可以实现重用。想要支持这种StreamingIterator,就必须实现一种更高级别的类型多态性,所以GAT 将会把Rust类型系统扩展到支持特点形式的高级多态性,称为关联类型构造函数。 相关RFC 1598
这篇文章提出了三种无GAT下实现StreamingIterator的办法。
参与改善Rust的心得
该文作者针对其提交的Rust PR#52942和#52997分享了改善Rust的一些心得体会
Rust 2018 Edition 周末报告 第四期
看上去嵌入式工作组和CLI工作组进展比较丰富
Rustc现在已经支持RISC-V
- LLVM后端
- 实现了call abi
- 内建 riscv32imac-unknown-none target
基于Rust全局分配器的中间件stats_alloc
可用于测试验证有关分配模式的假设,并可能用于生产负载以监控内存泄漏。
妹纸邀请你来做贡献
该项目作者是Asquera的员工,Asquera是德国一家技术公司,该公司招Rust工程师呢,可Remote
所以如果有兴趣有意愿做remote的童鞋,可以参与一下贡献
1
共 0 条评论, 1 页
评论区
写评论还没有评论