Rust roadmap: The new features planned for Rust 2018

The Epoch release is likely to ship in September, and keep “unstable” features separate from the Rust 2018 production version

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.

Where to download Rust

Rust 2018 will likely ship in September, according Mozilla’s draft roadmap. An alpha build is available now.

You can run rustup install nightly to get the nightly distribution, which includes the current alpha release. Developers already on the nightly channel do not need to update the compiler.

New features expected in Rust in 2018

Because the intent is to have only stable features in Rust 2018, Mozilla may deliver other new capabilities separately from Rust 2018. Such “unstable” 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.

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.

Rust’s developers are seeking feedback on the following new features:

  • The rustfix migration experience, which features a tool to smooth migrations between editions of the language. With rustfix, some code can be automatically rewritten to comply with new capabilities and idioms.
  • Module system changes, in which the system has been overhauled for simplicity.
  • In-band lifetimes, which drop an explicit lifetime parameter declaration in favor of a new lifetime name to connect lifetimes.

Copyright © 2018 IDG Communications, Inc.