-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change cargo fix --edition
to only fix edition lints.
#9846
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
I'm not super comfortable with this change, as I feel like it could be possible that other lint fixes may be needed to successfully compile. But I can't think of any examples, so it is probably not an issue. I'm also a bit uncertain about whether or not this is important enough to change. It caused a number of problems with the crater run, primarily with people not using It also caused some problems with non-edition lints that are known to give bad suggestions, but those were rare. And again, I would assume a crate that is being maintained would remove the warnings before trying to migrate. So...I'm not sure if this is a good idea. |
f841242
to
46450d6
Compare
Eh this seems isolated enough that it's not really all that bad. I don't get the impression that Given that this is just flipping an argument though and it kinda makes sense that you at least specifically want edition fixes with |
Yea, it would be nice to fix the bad suggestions, but there are a lot that hit weird edge cases. And there are some that are fundamentally not possible to avoid, like the If you think this is fine, I'm ok with it. For the next language, can there be no macros and no conditional compilation? They cause no end of trouble. 😝 |
Oh I see what you mean about |
@bors: r+ |
📌 Commit 46450d6 has been approved by |
☀️ Test successful - checks-actions |
Update cargo, books ## nomicon 2 commits in 0c7e5bd1428e7838252bb57b7f0fbfda4ec82f02..fe6227eb3c8533200c52dffa42ef1b6f2f02c40e 2021-08-04 10:18:22 -0700 to 2021-08-31 05:42:38 +0900 - update lifetime-elision to show what elided code under `rust_2018_idi… (rust-lang/nomicon#306) - Change code for `into_iter` on the `RawVec` section for consistency/soundness (rust-lang/nomicon#302) ## cargo 8 commits in f559c109cc79fe413a8535fb620a5a58b3823d94..18751dd3f238d94d384a7fe967abfac06cbfe0b9 2021-08-26 22:54:55 +0000 to 2021-09-01 14:26:00 +0000 - print the full destination path when no track duplicates (rust-lang/cargo#9850) - Stabilize 2021 edition (rust-lang/cargo#9800) - Stabilize patch-in-config (and prefer config over manifest) (rust-lang/cargo#9839) - Adding the cargo doc --examples subcommand (rust-lang/cargo#9808) - Make library created with `cargo new` clippy happy (rust-lang/cargo#9796) - Swap out some outdated repo urls in documentation (rust-lang/cargo#9862) - Change `cargo fix --edition` to only fix edition lints. (rust-lang/cargo#9846) - Show desc of well known subcommands (fmt, clippy) in cargo --list (rust-lang/cargo#9848) ## reference 1 commits in da6ea9b03f74cae0a292f40315723d7a3a973637..0e5ed7a4bec065f0cc18c35d1c904639e095314d 2021-08-19 21:28:10 -0700 to 2021-08-29 17:33:21 +0900 - expressions.md: Attempt fixing broken grammar in Mutability paragraph (rust-lang/reference#1084) ## book 1 commits in 687e21bde2ea10c261f79fa14797c5137425098d..fcb5e0ea68112d85a1d29a7a7335978ef2a02181 2021-08-18 20:48:38 -0400 to 2021-08-31 21:26:19 -0400 - Improve the reading of the code (rust-lang/book#2845) ## rustc-dev-guide 7 commits in cf0e151..95f1acf 2021-08-22 11:47:02 -0300 to 2021-08-31 12:38:30 -0500 - Add link to `Span` - Add rustc-source to suggested rust-analyzer config (rust-lang/rustc-dev-guide#1189) - Fix typo, clarify backtick wording, and use inline code - Trailing date comments in a line inside of a paragraph caused beginning of a new paragraph. (rust-lang/rustc-dev-guide#1196) - Fix warning "Renderer command uses a path relative to the renderer output directory ..." (rust-lang/rustc-dev-guide#1194) - Fix a code block containing ```rust - date-check: Recognize capitalized 'Date' as well ## edition-guide 1 commits in 3710b0cae783d0bcd2b42452a63b081473f5970a..2d9b1b9da706de24650fdc5c3b0182f55c82115d 2021-07-26 11:34:46 -0700 to 2021-08-31 10:44:09 +0200 - Update for 2021 stabilization (rust-lang/edition-guide#266) ## embedded-book 1 commits in 4f9fcaa30d11ba52b641e6fd5206536d65838af9..c3a51e23859554369e6bbb5128dcef0e4f159fb5 2021-08-06 17:43:12 +0000 to 2021-08-26 07:04:58 +0000 - Make glossary more linkable and add more detail (rust-embedded/book#299)
This changes it so that
cargo fix --edition
will only fix edition lints. The reason for this is that sometimes non-edition lints get in the way, and make suggestions that can cause failures. An example is a user that only ever runscargo test
orcargo check --profile=test
locally, and doesn't realize there are problems with running withoutcfg(test)
such as unused warnings.This works by using
--cap-lints=allow
along with--force-warn
which takes precedence overcap-lints
.This only works on nightly since
--force-warn
is still unstable. I will update this as part of #9800.Closes #5738