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.

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 Aconst 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.