核心团队开始考虑 2021 年的路线图,我们希望听到社区的声音。在接下来的几周里,我们将并行开展两项工作:2020 年 Rust 调查(下周公布)和征集博客文章。
博客文章可以包含任何与 Rust 相关的内容:语言特性、工具改进、组织变更、生态系统需求 —— 一切都在范围内。我们鼓励您尝试识别您的建议所适合的主题或广泛领域,因为这些有助于指导整个项目。
帮助我们理解您看待 Rust 的角度的一种方法是给出一种或多种形式为“作为 X,我希望 Rust 执行 Y,因为 Z”的陈述。 这些陈述可以提供您在文章中提出的项目的动机。 一些例子可能是:
- “作为一名日常 Rust 开发人员,我希望 Rust 改进库的使用体验,以便我可以更轻松地利用生态系统”
- “作为一名希望发展这一领域的嵌入式开发人员,我希望 Rust 使端到端嵌入式开发更容易,以便新手可以更轻松地入门”
今年,为了确保我们不会遗漏任何内容,当您撰写文章时,请将其提交到 此 Google 表单! 我们也会尝试查看未通过此表单提交的文章,但在此处提交的文章不会被遗漏。任何平台(从博客到 GitHub gist)都可以! 我们计划在 10 月 5 日关闭表单。
为了给您提供来年的一些背景信息,我们为 2020 年制定了这些高层次目标,并且我们想回顾一下今年上半年的情况。 我们已经取得了一些卓越的进展!
- 为可能的 Rust 2021 版本做准备
- 贯彻进行中的设计和工作
- 改进项目运作和治理
为可能的 Rust 2021 版本做准备
现在有一个 开放的 RFC 提出 2021 年版本的计划!已经有很多讨论,但我们希望在未来 6 周内将其合并。该计划是新版本的范围比 Rust 2018 小得多。预计它将包含一些小的调整以提高语言的可用性,以及推广各种版本惯用 lints (例如要求 dyn Trait
而不是 Trait
),以便它们“默认拒绝”。我们相信我们正在按计划在 2021 年推出一个版本。
贯彻进行中的设计和工作
我们 2020 年的目标之一是将“进行中”的设计工作推向完成。我们已经看到了很多这方面的努力。
- 内联汇编 RFC 已 合并,并且新的实现已准备好进行实验
- 过程宏在大多数位置上已稳定,截至 Rust 1.45
- 有一个关于 const generics 的 MVP 的提案,我们希望在 2020 年发布
- async 基础小组预计很快会发布关于
Stream
trait 的 RFC - FFI unwind 项目小组正在解决一个长期存在的健全性漏洞,并且 第一个 RFC 已被合并
- 安全的 transmute 项目小组已经提出了一个 RFC 草案
- traits 工作组正在改进 Chalk,准备 rustc 集成,并在 rust-analyzer 中进行实验性使用。您可以在 他们的 博客 文章 中了解更多信息。
- 我们正在过渡到使用 rust-analyzer 作为官方的 Rust IDE 解决方案,并且 合并的 RFC 列出了该计划
- Rust 的层级系统正在通过 进行中的 RFC 中设置的保证和期望来实现形式化
- 编译器性能工作仍在继续,在我们的许多基准测试中获得了 10-30% 的提升
- 读取未初始化的缓冲区有一个开放的 RFC,解决了 Rust 中 I/O 的另一个长期存在的问题
- 关于 std 中可移植 SIMD 的项目组提案有一个开放的 RFC
- 关于错误处理人体工程学的项目组提案,重点关注 std::error API,有一个开放的 RFC
std::sync
模块更新正在进行头脑风暴阶段- Rustdoc 对文档内链接的支持 接近稳定!
在 Rust 团队内部也进行了许多其他工作,但这些项目突出了一些 Rust 团队正在积极处理的问题和设计。
改进项目运作和治理
另一个目标是记录并改进我们运行项目的流程。我们有三个主要子目标。
提高对倡议和设计工作状态的可见性
Rust 团队正在转向使用 项目组 进行探索性工作,旨在创建专门的小组,可以探索一个领域,提出设计并将其完成。语言团队已经启动了 safe transmute、FFI unwind 和 内联汇编 项目组。所有这些都取得了巨大的成功!其他团队也在考虑使用这种模式。
编译器团队已经开始发布 每周性能分类报告,以继续努力减少编译时间。 LLVM 工作组还在帮助突出 LLVM 本身 中的性能回归,以减少更新 LLVM 时的编译时间性能回归。
编译器团队 引入了 主要变更提案,作为引入对实现的较大更改的一种方式,在开始实现工作之前提出设计问题。语言团队 也在尝试使用 类似流程,以获得对提案的快速语言团队反馈,并有可能组建项目组。这些都提供了正在提出的更改的高级视图,让感兴趣的各方可以关注,而无需订阅我们非常繁忙的存储库。
增加指导、领导和组织带宽
- 语言团队已经确定了贡献者成为团队成员的途径,包括参与和领导项目组工作。有关更多详细信息,请参见 他们的帖子。
- 治理工作组一直在将现有流程正式化为 RFC,例如 项目组 RFC、访问策略 RFC 等。
- 在治理工作组的帮助下,库团队正在率先起草团队的正式 章程。
使设计讨论更有效率且不那么令人疲惫
这里的主要工作是项目组,到目前为止,项目组基本上是成功的。我们希望将来在这里做更多事情。