近日,Rust 语言设计团队 Lang Team 在官方博客中公布了 Rust 语言 2024 年的更新路线图,Rust 2024 是继 Rust 2015、Rust 2018 和 Rust 2021 之后的第四版编程语言路线图。
Lang Team 表示该路线图只是一个起点,具体内容会随着时间而改变,将不断审视这些内容,查看所取得的进展,以及是否需要调整该路线图。
该路线图重点涉及三个方向,分别是降低学习门槛-使新老用户都更容易使用 Rust、扩展生态系统-赋予库作者权力,同时也推动库作者赋予用户权力和、Rust 项目扩展-完善开发流程,以适应越来越多的用户需求和用例,评估已经开始的项目。
降低学习门槛
Lang Team 表示在 Rust 2024 中他们的目标是简化程序,使开发者只需处理其领域的固有复杂性,不再需要处理 Rust 的意外复杂性。
为了实现这一愿景,团队有四个目标:
- 更精确的分析,更少的繁琐:通过对借用检查器、类型推理的改进,使编译器能够更好地识别代码是否正确。识别并消除 "boilerplate" 模式,例如到处复制粘贴同一组 where。
- 更容易、更直接地表达代码的意图:例如通过语法糖的形式(如 let-else),或者扩展类型系统(如泛型关联类型))
- 改进异步支持:将 async-await 支持扩展到当前的 "MVP" 之外,如traits 中的 async fns、async drop 等特性。
- 让 dyn Trait 更有用:拓宽可用于 dyn 的特性集,让使用 dyn 更接近于使用泛型。
扩展生态系统
Lang Team 表示有许多事情是库作者不能做的,或者不容易做的——例如,他们不能控制用户看到的错误消息,或者部署一个需要特殊选择才能使用的“不稳定”特性。因此对于 Rust 2024,设计团队希望通过帮助管理功能的生命周期或扩展库的功能,使库作者能够更好地为用户服务。
为了实现这一愿景,团队计划专注于四类工作:
- 生命周期功能:帮助库作者管理他们的开发生命周期和演进。
- 更丰富的抽象:扩展语言,让库作者表达更丰富的抽象。
- 定制开发体验:例如,当trait没有实现时,可以定制用户得到的错误消息,或者引入定制lint
- 互操作性:库作者可以随心所欲地编写跨多种环境移植或特定于一种环境的代码。
Rust 项目扩展
为了发布 Rust 2024 并让 Rust 尽可能地发挥作用,确保 Rust 的质量、稳定性和整体一致性,团队将专注于以下工作:
- 及时查看状态:能够很容易确定团队正在进行哪些工作以及这些工作的完成进展。团队希望每一个跟踪问题都能清楚地识别出需要哪些步骤来推动该特定功能的完成,并确保这些步骤对潜在的贡献者来说是足够清楚的。
- 明确的所有者和沟通:Rust 通过共识来运营,但这并不意味着每个人都必须知道所有事情的所有细节。因此需要一个系统,该系统对要完成的工作有明确的所有者,理想情况下,所有者不属于 Lang Team。虽然简单的分工可能会导致以后的冲突,所以也需要频繁的沟通和更新,以确保每个人都能跟上事情发展的总体方向,并尽早提出问题。
- 具有工具支持的高效、开放的流程:Lang Team 一直在寻找改进运营方式的方法,以帮助掌握 Rust 项目的进展情况,并更快地得出结论。团队发现由机器人或其他工具支持的流程往往工作得更好。
路线图的更多详情可查看 :https://blog.rust-lang.org/in...