A 2019 roadmap for the Rust programming language, published this week, outlines a broad range of goals for the project, from improving how the project is run, to improving the overall quality of the language and tools, to finishing requests on work started but never finished.
The proposed improvements to the language and tools follow years of foundational work done such as support for incremental compilation. These improvements include:
- Faster compile times and richer IDE support.
- Polishing the language specification by improving the language reference and laying out unsafe code guidelines.
- Polishing the WebAssembly (wasm) support for capabilities such as debugging.
The roadmap also identifies a number of initiatives sitting in limbo, and promises to resolve related longstanding requests. These initiatives include:
- The language team is looking at async/await, specialization, const generics, and generated associated types. Async I/O needs to be unlocked, for instance.
- The Cargo package manager team will look at custom registries. The Cargo team in 2019 also seeks better support for cross-compilation and reduced compilation times.
- The libraries team will focus on completion of custom allocators and maintaining the standard library.
Also in 2019, The CLI working group will focus on the design and maintenance of the Clap 3.0 library for parsing command-line arguments and on the testing of Crates. The Secure Code working group will focus on improving the distribution of security patches, improving code authentication, reducing the need for unsafe code, and improving verification for the standard library.
Finally, the roadmap notes that the growth of the project has strained processes that used to work when the project was smaller. In addition to plans to revamp processes to be more scalable, the Rust project has formed a Governance working group to make the workings of the project more predictable and transparent. The RFC (request for comments) process may be revised as well.