-
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
Emit note when --future-incompat-report
had nothing to report
#9263
Conversation
r? @ehuss (rust-highfive has picked a reviewer for you, use r? to override) |
9e896cd
to
f9512ff
Compare
I would personally think that this wasn't necessary (e.g. rustc doesn't print anything saying "there were 0 warnings"). Could you elaborate a bit on why this should be added? (having a blank PR description and a commit message which is simply the PR title isn't too helpful...) |
Sorry, I forgot to link to the discussion on the tracking issue: rust-lang/rust#71249 (comment) and rust-lang/rust#71249 (comment) Both @ehuss and @jyn514 had wanted an explicit '0 future-incompat warnings' message when |
Ok thanks for the link, if it's ok with y'all I figure we can discuss it here rather than continuing on the issue over there? In my opinion there should be no need to print something out like this (e.g. rustc doesn't print out "0 warnings were found"). Could y'all elaborate, though, as to why you feel like a message is necessary? I could see that while testing you might expect it to have a bug and not work, but for a final form of the feature which is expected to work I would think that no output is translateable to "nothing that I need to do" |
My understanding is that the final product won't have this option at all, and will print out future-incompat warnings unconditionally. I agree at that point printing "0 errors" isn't helpful. But I think explicitly opting into the warnings should confirm that yes it works. |
I believe the (stable) experience is intended to be:
The concern is someone runs Personally, I still think the If the intent is that people always pass |
The use case is running this on CI, which may build dependencies that a user machine typically does not (e.g. platform-specific dependencies like |
I was not under the impression that Cargo would print "you have future incompat warnings" by default. I thought that users would have to opt-in to the notifications. Seems like it would be best to clarify that point about the expected usage before continuing this discussion since that likely heavily influences this! |
Sorry about the confusion. RFC 2834 describes the behavior where Cargo will always check for future-incompat warnings and print a small notice informing the user. The user can then run the describe command to get a full report. The intent is to warn the developer that one of their dependencies may stop compiling soon, and they need to do something about that. If it isn't enabled all the time, it likely won't have the intended impact of getting projects updated. A concern is the inability to silence the warning, since it may take a while to resolve it. The RFC included an "Annoyance Modulation", but I'm not sure if that specifically is how it should work. |
Ok thanks for the link, I had forgotten this part of the original RFC. If that's the case then this seems fine since it'll likely be rarely run anyway (seems like the majority of what happens is you run |
I'm going to go ahead and merge this. I'm also uncertain about the overall UX here, but I think this will be less confusing. @bors r+ |
📌 Commit f9512ff has been approved by |
☀️ Test successful - checks-actions |
Update cargo 8 commits in 90691f2bfe9a50291a98983b1ed2feab51d5ca55..58a961314437258065e23cb6316dfc121d96fb71 2021-03-16 21:36:55 +0000 to 2021-03-22 22:59:56 +0000 - Emit note when `--future-incompat-report` had nothing to report (rust-lang/cargo#9263) - RFC 3052: Stop including authors field in manifests made by cargo new (rust-lang/cargo#9282) - Refactor feature handling, and improve error messages. (rust-lang/cargo#9290) - Split out cargo-util package for cargo-test-support. (rust-lang/cargo#9292) - Fix redundant_semicolons warning in resolver-tests. (rust-lang/cargo#9293) - Use serde's error message option to avoid implementing `Deserialize`. (rust-lang/cargo#9237) - Allow `cargo update` to operate with the --offline flag (rust-lang/cargo#9279) - Fix typo in faq.md (rust-lang/cargo#9285)
Update cargo 8 commits in 90691f2bfe9a50291a98983b1ed2feab51d5ca55..58a961314437258065e23cb6316dfc121d96fb71 2021-03-16 21:36:55 +0000 to 2021-03-22 22:59:56 +0000 - Emit note when `--future-incompat-report` had nothing to report (rust-lang/cargo#9263) - RFC 3052: Stop including authors field in manifests made by cargo new (rust-lang/cargo#9282) - Refactor feature handling, and improve error messages. (rust-lang/cargo#9290) - Split out cargo-util package for cargo-test-support. (rust-lang/cargo#9292) - Fix redundant_semicolons warning in resolver-tests. (rust-lang/cargo#9293) - Use serde's error message option to avoid implementing `Deserialize`. (rust-lang/cargo#9237) - Allow `cargo update` to operate with the --offline flag (rust-lang/cargo#9279) - Fix typo in faq.md (rust-lang/cargo#9285)
Update cargo 12 commits in 90691f2bfe9a50291a98983b1ed2feab51d5ca55..1e8703890f285befb5e32627ad4e0a0454dde1fb 2021-03-16 21:36:55 +0000 to 2021-03-26 16:59:39 +0000 - tests: Tolerate "exit status" in error messages (rust-lang/cargo#9307) - Default macOS targets to `unpacked` debuginfo (rust-lang/cargo#9298) - Fix publication of packages with metadata and resolver (rust-lang/cargo#9300) - Fix config includes not working. (rust-lang/cargo#9299) - Emit note when `--future-incompat-report` had nothing to report (rust-lang/cargo#9263) - RFC 3052: Stop including authors field in manifests made by cargo new (rust-lang/cargo#9282) - Refactor feature handling, and improve error messages. (rust-lang/cargo#9290) - Split out cargo-util package for cargo-test-support. (rust-lang/cargo#9292) - Fix redundant_semicolons warning in resolver-tests. (rust-lang/cargo#9293) - Use serde's error message option to avoid implementing `Deserialize`. (rust-lang/cargo#9237) - Allow `cargo update` to operate with the --offline flag (rust-lang/cargo#9279) - Fix typo in faq.md (rust-lang/cargo#9285)
No description provided.