Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Rust 2017 Roadmap Progress

Rust 2017 Roadmap Progress

This item in japanese

Rust core team developer Nicholas Matsakis summarized the current state of progress of Rust’s 2017 roadmap.

Announced in January, the 2017 Rust roadmap includes a number of distinct focus areas.

  • Learning curve: the biggest improvement here has been rewriting the official Rust book, with better coverage of ownership, error handling, testing, matching, modules, and more. Some amount of work has gone into improving Rust’s language ergonomics, with the introduction of non-lexical lifetimes, trait aliases, and other features.

  • Edit-compile-debug cycle: a first speed-up of the edit-compile-debug cycle was provided in Rust 1.16 thru the cargo check command, which allows to only check for errors while skipping code generation. Additionally, the Rust team has been at work on incremental compilation, which is now undergoing a rewrite to make dependency tracking more robust. On another front, a new version of the Rust “perf” website is now available, which tracks the effect of each and every PR on compilation performance and is the basis to detect any performance regression.

  • IDE Experience: based on the Rust Language Service (RLS), Rust IDE support covers the most basic operations, such as jump to definition, find all uses, code completion, etc. While still in alpha, the RLS can be easily tried out using the Visual Studio Code plugin.

  • Improved access to crate repository: the main effort here was the introduction of categories and badges.

  • Make Rust well-equipped to write robust servers: this is mostly focused on providing better asynchronous I/O support through futures and the Tokio and Rocket projects. The next highest priorities are introducing the async/await notation, better futures, and improving the HTTP foundations.

  • Improve quality of crates used for essential tasks: this aims to ensure that the most broadly used crates all meet a consistent level of completeness and quality, by improving their adherence to the API guidelines, finding and fixing issues, and writing examples for a new cookbook.

  • Integration into large build systems: this is still an exploratory area, where most of the effort will be spent in the second half of the year. Two main goals are using Cargo to create a build plan without executing, and making it possible to declare external dependencies in a first-class way.

Other initiatives that will shape the future of Rust, although they are not included in Rust’s roadmap, are the embedded Rust initiative, better integration with other languages, including C and C++, Ruby, Node.js, and others.

You can read more detailed information in the original post.

Rate this Article