The Rust language is on track for several key new capabilities this year. A draft roadmap for the Mozilla-sponsored language would polish and stabilize all existing features, including
impl Trait, macros 2.0, SIMD, generators, custom registries in the Cargo package manager, and nonlexical lifetimes, as well as revamp modules. And tools such as the Rust Language Server (RLS), the
rustfmt code formatter, libraries, and documentation would be brought to 1.0 release status. The Rust 2018 release, aka Epoch, might also have build-system integration improvements.
Rust 2018 would likely ship in September, according Mozilla’s draft roadmap.
Because the intent is to have only stable features in Rust 2018, Mozilla may deliver other new capabilities separately from Rust 2018. Such “unstale” features could include outside A
const generics, generic associated types, and specialization, permitting multiple impl blocks to apply to the same trait as long as one of the blocks is more specific than the other.
Mozilla’s work this year on the Rust compiler is set complete language features and make improvements to compile times and error messages. Building the
rustfix tool, to read and apply messages from
rustc and third-party lint tools, is also a goal. Rust’s library ecosystem, meanwhile, would get investments in quality, discoverability, and domain-specific content.
The draft roadmap focuses on four domains for Rust this year:
- The WebAssembly portable code format.
- Network services, which is the language’s predominant production usage domain.
- CLI (command-line interface) apps, which could benefit from Rust’s portability, ergonomics, and reliability.
- Embedded devices.