Response to the call for Rust 2019 Roadmap blog posts

Things I would like prioritized in the 2019 roadmap.

This is echoed in many existing 2019 blog posts, so instead of detailing the pain, here is a list of the relief / joy this would bring:

Less impedence in running a large suite of tests results in smaller, more comprehensible changes.

Tidy: Rust artifacts are ever growing. My disk space does not. It would be nice to have automatic clean up of unused files: Stale compilation artifacts.

Old versions of crates in ~/.cargo/{registry, git} . Perhaps deleting based on last access time, and different clean-up profiles for development, CI would solve this.

Brave: There are many times Rust provides hints that could be automatically applied without needing human decision. Automatically managed imports: Java does this well, though I know Rust has more variants to manage – crate groupings, style. Sometimes the suggestions are incomplete, though it’s not clear why – types from the same module export are not consistently listed / unlisted.

Lints: Extra & , unnecessary clone() ? By all means, remove them. Cargo fix is already quite brave, and deserves a million applauds. Allowing more tools to change code without explicit prodding could organically induce coding best practices.

Refactoring: There are times I’d like to change a method signature, add or split a parameter, or move a module. For a single-developer project that follows strict conventions, regex is possible, but is nonetheless fragile. There are some moments where I’d miss mature IDE support that is available with languages such as Java. Quite confident that the RLS will get there, the question is how soon, and whether we remember “let’s support this in cargo workspaces too!”.