在此提醒正在开展 2024 版本工作的团队,实现工作应在**五月底前完成**。如果您有任何问题,请通过 #edition
Zulip 流告知我们。
我们正在追踪的包含在版本中的变更
以下是我们正在追踪的计划包含在版本中的变更列表。此列表尚未最终确定,将来可能会有所变化。
- 将
unsafe_op_in_unsafe_fn
lint 改为默认警告。此项已实现,详见 文档。 - 从 2024 prelude 中移除
RustcEncodable
&RustcDecodable
。此项正在等待实现批准和自动迁移支持。详见 #116016。 - 将
Future
和IntoFuture
包含在 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) 是一种机制,用于引入在其他情况下会向后不兼容的变更,同时仍保持与旧版本的兼容性。版本是选择加入的,旨在允许使用不同版本的项目彼此保持兼容。更多信息可在 版本指南 中找到。