Description
Migrated from rust-lang/cargo#5829
It's been mentioned/requested multiple times on the internals thread that cargo fix
should remove the extern crate
statements when moving to Rust 2018.
Motivation
One of the big draws of Rust 2018's module system is that all of the "redundant" extern crate
lines can finally be removed. It took some of the excitement away when I went through all of the cargo fix
steps and still saw them there. I think it will just be a better experience for users to see one of the tangible benefits of this change. As it is right now, they just see the crate::
in front of all of their local imports and they might not realize what a nice change the module system updates really are.
After I manually removed the extern crate
's I did get my satisfying result 😄, but let's give this to users on the first go around.
Implementation
If I understand correctly this should be implemented in the compiler under the #![warn(rust_2018_idioms)]
lints, rather than cargo fix
itself.