This year's roadmap for Rust was the result of an open call for blog posts from the community to set out major priorities for the language development throughout 2019, including reshaping the governance model, bringing to light new language features, and improving the compiler.
Whereas Rust 2018 roadmap centered around productivity, this year's theme is maturity. Productivity has in fact a lot in common with maturity. Testament to this is the overlap between portions of the 2018 and 2019 roadmaps, which goes well beyond the inevitable inclusion of features that were planned for 2018 and could not make it into the language, such as is the case for async/await. This does not mean, however, that the Rust team could not deliver on its 2018 roadmap. Quite the opposite, if you take a look at the number of improvements that were released across 2018 on the language and standard library front, for the compiler, and documentation.
Speaking of the language, what the Rust core team has on its plans is finishing up a number of features that have been already worked on and are at some maturity level, but are not finished yet. Examples are support for async/await
, const generics, generic associated types, and specialization.
On the compiler front, a major goal for rustc
is improving raw compilation times and code generation. This will be pursued through a number of strategies, including parallelizing rustc
and introducing new MIR optimization. The Rust team will also extract parts of rustc
into libraries with the aim of making it easier to understand and maintain, as well as moving towards a Rust specification. To improve integration with IDEs, there is an ongoing effort to build the Rust Language Server 2.0.
Another big area of improvement will be cargo, Rust package manager, which recently got support for alternative registries. In 2019, cargo should get plugins, better support for cross compilation, and a number of features already in the works, such as offline mode, improving profiles, and more.
As a final note, it is worth noting a new effort to reshape governance, i.e. the way the Rust community interacts and contributes to the language and its ecosystem development. In particular, this includes the work of a new Governance working group aimed to improve policies and procedures across the whole Rust project. In a Hacker News thread, Rust core team member Steve Klabnik, who recently left Mozilla for of a number of reasons but will not stop contributing to Rust, made clear this is by no means a shift towards a committee-like model for the evolution of the language. Instead, the core team will remain in charge of the language and will ensure the rest of the teams work in a coherent way.
If you want to know all the details concerning Rust 2019 roadmap, do not miss the official RFC.