Closed
Description
Rustfix is a CLI tool that parses the compiler's suggestions and applies them to the source files. It is the official tool to migrate from Rust 2015 to 2018.
This issue is to track the development of the CLI tool. Other ways to interact with the compiler suggestions include "reading them and changing code manually" as well as "using RLS and clicking on lightbulb icons in VSCode".
What needs to be done
- Not tracked in this issue: Implement lints that emit suggestions to migrate to code valid in the new edition -- cf. Metabug for 2018 edition lints #50068
- Implement rustfix as a library that reads rustc diagnostic messages and source files and emit transformed source files
- Integrate this into compiletest First step towards rustfix compiletest mode #50084
- Add tests for all machine-applicable suggestions (and continue to add them as new lints land!)
- first step: Various edition preview fixes #50454
- Find and fix edge cases that prevent rustfix from always producing valid code
- Decide on (and implement) final design of the CLI (see below)
- first design ideas in UI for the 2018 edition release rustfix#64 implemented in Rewrite the
cargo fix
command rustfix#66
- first design ideas in UI for the 2018 edition release rustfix#64 implemented in Rewrite the
- Publish official beta version and ask community to test it (blocked on tests; goal: end of April)
- Distribute with rustup or cargo?