This is a reminder to the teams working on the 2024 Edition that implementation work should be finished by the end of May. If you have any questions, please let us know on the #edition
Zulip stream.
What we are tracking for the Edition
The following is a list of changes we are tracking for inclusion in the Edition. This list is not final, and may change in the future.
- Change the
unsafe_op_in_unsafe_fn
lint to be warn-by-default. This is implemented, see docs. - Remove
RustcEncodable
&RustcDecodable
from the 2024 prelude. This is waiting for the implementation to be approved, and for automatic migration. See #116016. - Include
Future
andIntoFuture
in the 2024 prelude. This is implemented, and waiting for automatic migration support. See docs and #121042. - Reserve the
gen
keyword. This is waiting for final approval, and the implementation review. See RFC #3513. - RPIT lifetime capture. This is partially implemented, but is waiting on final design for precise capturing. See RFC #3498 and #117587.
- Macro matcher fragment specifier policy. This is a policy change and does not have an implementation. See RFC #3531.
- Disallow references to
static mut
. This is implemented, though there is uncertainty about how migration should work, how to communicate to users how to update their code, and whether or not this should cover hidden references. See docs and #114447. - New range types. This is waiting on the design considerations for migration. See RFC #3550.
- Cargo: Remove implicit features. Development of this is underway. See RFC #3491.
- Public/private dependencies. This is partially implemented, though there are some changes needed on the rules for determining visibility. See RFC #3516.
- Rustfmt: Enable
overflow_delimited_expr
by default. This is not yet implemented. See #114764.
What is an Edition?
Editions are a mechanism to introduce changes that would otherwise be backwards incompatible while still retaining compatibility with older releases. Editions are opt-in and designed to allow projects on different Editions to remain compatible with one another. More information may be found in the Edition Guide.