2021 edition?

Supporting multiple editions is specifically constrained to be a low burden for implementors. Only surface syntax is allowed to differ based on the edition flag:

The Rust compiler supports multiple editions, but must only support a single version of "core Rust". We identify "core Rust" as being, roughly, MIR and the core trait system; this specification will be made more precise over time. The implication is that the "edition modes" boil down to keeping around multiple desugarings into this core Rust, which greatly limits the complexity and technical debt involved.

Adding support for an older edition should be both easy and straightforward, especially compared to most of the other work required to implement a Rust compiler.

7 Likes