2024 版本更新

2024 年 3 月 22 日 · Eric Huss 代表 2024 版本项目组

在此提醒正在开展 2024 版本工作的团队,实现工作应在**五月底前完成**。如果您有任何问题,请通过 #edition Zulip 流告知我们。

我们正在追踪的包含在版本中的变更

以下是我们正在追踪的计划包含在版本中的变更列表。此列表尚未最终确定,将来可能会有所变化。

  • unsafe_op_in_unsafe_fn lint 改为默认警告。此项已实现,详见 文档
  • 从 2024 prelude 中移除 RustcEncodable & RustcDecodable。此项正在等待实现批准和自动迁移支持。详见 #116016
  • FutureIntoFuture 包含在 2024 prelude 中。此项已实现,正在等待自动迁移支持。详见 文档#121042
  • 保留 gen 关键字。此项正在等待最终批准和实现评审。详见 RFC #3513
  • RPIT 生命周期捕获。此项已部分实现,但正在等待精确捕获的最终设计。详见 RFC #3498#117587
  • 宏匹配器片段指定符策略。这是一项策略变更,尚未实现。详见 RFC #3531
  • 禁止引用 static mut。此项已实现,但关于如何进行迁移、如何告知用户更新其代码以及是否应涵盖隐藏引用,仍存在不确定性。详见 文档#114447
  • 新的范围类型。此项正在等待迁移的设计考量。详见 RFC #3550
  • Cargo: 移除隐式特性。此项正在开发中。详见 RFC #3491
  • 公共/私有依赖项。此项已部分实现,但确定可见性的规则仍需要一些修改。详见 RFC #3516
  • Rustfmt: 默认启用 overflow_delimited_expr。此项尚未实现。详见 #114764

什么是版本 (Edition)?

版本 (Editions) 是一种机制,用于引入在其他情况下会向后不兼容的变更,同时仍保持与旧版本的兼容性。版本是选择加入的,旨在允许使用不同版本的项目彼此保持兼容。更多信息可在 版本指南 中找到。