The Rust community has outlined its roadmap for the year ahead, after deciding that the next 12 months should be more about rejuvenation and maturation, rather than just shipping features and growing.
After the excitement/stress of shipping Rust 18 last year, the team behind the language said their work this year would be focused on governance, polish and getting round to dealing with “long-standing requests”.
The taking stock comes after a period of breakneck growth that has seen the project team behind the language – which started at Mozilla – grow to over 100 people. This, coupled with the growth of the Rust community as a whole, means that “we’ve found that the processes which served us well when we were a smaller project are starting to feel some strain.”
Individual teams are looking at their governance processes, while the project as a whole has created a Governance Working Group which will work with each team to help improve governance.
Diving a little deeper on the official roadmap at its GitHub page the project said that its most recent survey showed that “Ergonomics no longer ranks as the number one concern amongst respondents: instead, we see a need for mature libraries, a better IDE experience, and more Rust adoption.” It adds, “2019 should still be a year of shipping, but a certain kind of shipping.”
Digging down by team, the to do list for Rust’s package manager Cargo includes adding better support for cross compilation, focusing on the cargo ecosystem by supporting plug-ins, and reducing compile time. It will also strive to address technical debt and finish “almost complete work” including work on custom registries, offline mode, and improving profiles.
The Crates.io team will focus on “growing itself, paying down technical debt in the codebase, and establishing themes for long-term priorities.”
Similarly, the Compiler team has a long list of to dos, including improving “core strength” by lowering raw compilation times and also generating better code and improving IDE integration. It also plans to extract parts of rustc into libraries, parallelize rustc, and introduce MIR optimisations.
The documentation team has committed to “completely reformulating itself” to the extent of renaming itself the “learning team” – a roadmap for this is in progress.