Pietro Albini

My wishlist for Rust in 2019

Written on January 2, 2019.

It's starting to become a tradition to see a bunch of posts around the new year on what the community wants to see from Rust. For the second year in a row, the Rust core team asked for feedback for the 2019 roadmap and this is what I'd like: "rustfix all the things" and a better infrastructure.

Add rustfix support to most of the warnings

One of the features of Rust 2018 I don't see mentioned too often is rustfix, the tool that fully migrates a project from Rust 2015 to Rust 2018. The fact nobody talks about it is probably a good thing though, since it means it works fine!

Rustfix is a really simple tool behind the scenes: it calls the compiler, gets the suggestions from the warnings emitted by the compiler and replace them. That means all the fixing logic is inside the compiler, with full access to its internals. Other tools (like IDEs) can also apply those suggestions without reimplementing them.

In 2019 we should greatly increase the scope of the fixes applicable by rustfix, from the edition migration to most of the warnings emitted by the compiler. I'd love to see a day when a cargo fix makes most of the warnings disappear.

Improve the Rust infrastructure

The Rust project has grown a lot in the past few years, but its infrastructure is lagging behind. Last month there was a big discussion on internals on improving the bors queue, and there are a lot of other stuff we want to improve as the infrastructure team.

One of the biggest one is switching away from Travis CI for the compiler repository. In the past year we had countless issues with them (both small and big), and that's not acceptable when we're paying (a lot) for it. The infra team is already planning to start the discussion on where we should migrate in the coming weeks, and we'll involve the whole community in the discussion when it happens.

Another thing I'd like to see is increased coverage for Crater, the tool we use to test compiler changes across parts of the Rust ecosystem. There are a lot of big wins we can make on it, like testing repositories on GitLab or Windows support, and any contributor is welcome!

Looking forward for the next year

The past year has been a great for both the Rust project and myself. We (finally!) shipped the 2018 edition, we grown a lot as a community and we have big features near the end of the pipeline (for example async/await).

Personally I joined the release and infrastructure teams, and it's great to be a small part of this success. I met and worked with a lot of awesome people, and I hope I'll be able to continue to do that in the future.

I look forward for a way better #Rust2019.