Repository navigation
make semicolon_in_expressions_from_non_local_macros not report-in-deps - #163364
Conversation
|
r? @mati865 rustbot has assigned @mati865. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
Part of the issue here is that this is always effectively "report in deps", it's just a question of whether it's "report only in direct deps" or "report in indirect deps". "Report in the original crate" isn't an option available to us. |
|
Is there a straightforward way for us to find out how much changing this will actually reduce the number of crates directly impacted? |
|
Yeah this lint is kind of special because it is about macros so it's a bit hard to reason about. But this is a new category of cases we are linting about, where the crate defining the macro doesn't use it (or not in a problematic way, anyway) and so the old lint never triggered. It seems reasonable to me to stage the new lint by first only showing it for direct dependencies that actually use the macro, where this may be a bit less confusing to debug.
In #162872 the suggestion was to do a crater run with the lint set to @bors try |
make semicolon_in_expressions_from_non_local_macros not report-in-deps
This comment has been minimized.
This comment has been minimized.
|
If we use the "root regressions" vs "dependencies" in https://crater-reports.s3.amazonaws.com/pr-162768/index.html as indication, then apparently 1500 of the errors are root regressions, around 550 of these are from crates.io. So this would drastically reduce how often the lint is shown. That seems to indicate that in most cases, a newer version of the dependency (though potentially not semver-compatible) is available to fix the problem. OTOH >500 crates with root regressions is still a substantial number. |
|
@craterbot check start=a22b02eaecd6ac937d752139c79d0159c725932d end=53347bd049319c6f1fbbeda74b547c1c9ac10fe6+rustflags=-Dsemicolon_in_expressions_from_non_local_macros |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
Or where the crate defining it only tests it in integration tests, which built as a separate crate, so they never got the lint. (I'm not going to pretend that the majority of macro crates have thorough tests, but in the case of this particular lint, integration tests wouldn't have helped either.) |
|
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
We talked about this in today's @rust-lang/lang meeting. We don't expect this to make the warning any more targeted to the crates affected (it's still always going to hit dependents rather than ), but it'll reduce the sheer number of hits in the ecoystem, and given the quantity that seems warranted while fixes are rolling out. @rfcbot merge lang We should waive the 10-day period if we get all the checkboxes. |
|
@joshtriplett has proposed to merge this. The next step is review by the rest of the tagged team members: No concerns currently listed. Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. |
|
Agreed we should avoid being too noisy initially if doing so is reasonable |
|
It is still approved. bors just didn't notice yet that it failed, apparently. |
|
💔 Test for 9cf9c87 failed: CI. Failed job:
|
|
@bors r=mati865 |
|
( |
…ps, r=mati865 make semicolon_in_expressions_from_non_local_macros not report-in-deps See rust-lang#162872 for context. This new lint was made immediately report-in-deps without a crater run. I guess people assumed that the ecosystem fallout would be small, but no data was gathered to confirm that hypothesis. We now have data showing that the ecosystem fallout is [gigantic](rust-lang#162768 (comment)), so let's remove the report-in-deps from this lint. This should be backported to the 1.100 beta. (1.99 already has this patch.) Cc @joshtriplett
…uwer Rollup of 12 pull requests Successful merges: - #163531 (rustc_ast_lowering: track implicit Self via explicit flag instead of name) - #160915 ([rustdoc] Fix how `Deref` items is handled.) - #163364 (make semicolon_in_expressions_from_non_local_macros not report-in-deps) - #163770 (document the rustc_comptime attribute) - #163780 (Skip optional asserts in SsaRangePropagation) - #163785 (Bump Windows CI LLVM to 22.1.8) - #163796 (continue crashes tests `-Znext-solver` work) - #163646 (Get `inputs_hir` directly from `decl`) - #163733 (Fix extra spaces in integer format_into docs) - #163773 (Update GitHub Actions to v26) - #163787 (moves rustc_legacy_const_generics checks into attribute parsing) - #163810 (Fix an issue for clippy's `search_is_some` with the next-solver)
|
⌛ Testing commit 3631ff3 with merge 846251e... Workflow: https://github.com/rust-lang/rust/actions/runs/37348086272 |
make semicolon_in_expressions_from_non_local_macros not report-in-deps See #162872 for context. This new lint was made immediately report-in-deps without a crater run. I guess people assumed that the ecosystem fallout would be small, but no data was gathered to confirm that hypothesis. We now have data showing that the ecosystem fallout is [gigantic](#162768 (comment)), so let's remove the report-in-deps from this lint. This should be backported to the 1.100 beta. (1.99 already has this patch.) Cc @joshtriplett
|
@bors yield |
|
Auto build was cancelled. Cancelled workflows: The next pull request likely to be tested is #163829. |
…uwer Rollup of 11 pull requests Successful merges: - #163364 (make semicolon_in_expressions_from_non_local_macros not report-in-deps) - #163531 (rustc_ast_lowering: track implicit Self via explicit flag instead of name) - #163770 (document the rustc_comptime attribute) - #163780 (Skip optional asserts in SsaRangePropagation) - #163785 (Bump Windows CI LLVM to 22.1.8) - #163796 (continue crashes tests `-Znext-solver` work) - #163646 (Get `inputs_hir` directly from `decl`) - #163733 (Fix extra spaces in integer format_into docs) - #163773 (Update GitHub Actions to v26) - #163787 (moves rustc_legacy_const_generics checks into attribute parsing) - #163810 (Fix an issue for clippy's `search_is_some` with the next-solver)
Rollup merge of #163364 - RalfJung:semicolon-no-report-in-deps, r=mati865 make semicolon_in_expressions_from_non_local_macros not report-in-deps See #162872 for context. This new lint was made immediately report-in-deps without a crater run. I guess people assumed that the ecosystem fallout would be small, but no data was gathered to confirm that hypothesis. We now have data showing that the ecosystem fallout is [gigantic](#162768 (comment)), so let's remove the report-in-deps from this lint. This should be backported to the 1.100 beta. (1.99 already has this patch.) Cc @joshtriplett
Looks like GitHub didn't send us the failure webhook, and not enough time has passed for bors to run its background check to timeout or fail the workflow on its own. |
|
In old bors, |
|
It did not, in fact :) It only cleared the failure bit of the build. I'd like to keep that the same, to avoid the commands doing too much. |
|
beta backport approved as per compiler team on Zulip. A backport PR will be authored by the release team at the end of the current development cycle. Backport labels are handled by them. |
View all comments
See #162872 for context. This new lint was made immediately report-in-deps without a crater run. I guess people assumed that the ecosystem fallout would be small, but no data was gathered to confirm that hypothesis. We now have data showing that the ecosystem fallout is gigantic, so let's remove the report-in-deps from this lint.
This should be backported to the 1.100 beta. (1.99 already has this patch.)
Cc @joshtriplett