Conversation
|
Some changes occurred in src/tools/clippy cc @rust-lang/clippy The Miri subtree was changed cc @rust-lang/miri |
|
r? @davidtwco rustbot has assigned @davidtwco. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
This reverts commit 2f3b952.
I'm ignoring the fact that there's a feature to change the behavior of the syntax. I just want to help prevent confusing the people reading the docs. (cherry picked from commit 092f0ca)
… have special syntax I'm ignoring the fact that there's a feature to change the behavior of the syntax. I just want to help prevent confusing the people reading the docs. (cherry picked from commit eef4363)
|
This PR changes a file inside This PR modifies |
This comment has been minimized.
This comment has been minimized.
|
Time is short for beta, so let's get this queued up... @bors r+ rollup=never p=10 |
This comment has been minimized.
This comment has been minimized.
[beta] reverts and backports This reverts two `dbg!` changes to avoid regressions[^1][^2] in the upcoming 1.95 release: - std: avoid tearing `dbg!` prints #149869 - don't drop arguments' temporaries in `dbg!` #154074 - ... which was previously backported in #154725 This also reverts a stabilization over a late issue[^3] of semantics: - Stabilize `assert_matches` #137487 And a few other backport/reverts from `main`: - Revert performing basic const checks in typeck on stable #154930 / #155033 - Revert "`-Znext-solver` Remove the forced ambiguity hack from search graph" #154712 - Clarify that core::range ranges do not have special syntax #155002 [^1]: #153850 [^2]: #154988 [^3]: #154406
|
💔 Test for 2eccf47 failed: CI. Failed job:
|
|
Also posting this here: Not sure if you want to include this in this PR or merge it separately. |
This comment has been minimized.
This comment has been minimized.
|
Spurious |
|
Hmm, well that failure will give me a moment to pull in the clippy backports too. @bors r- |
The wrong `TypeckResults` was used in the fallback equality function passed by the `match_same_arms` and `filter_map` lints. Previously, those fallback functions had no way of using the proper `TypeckResults`. Those (one per expression being compared) are now passed to the registered fallback function. changelog: [`match_same_arms`]: fix internal compiler error Fixes rust-lang/rust-clippy#16678 Fixes rust-lang/rust-clippy#16686 <!-- TRIAGEBOT_START --> <!-- TRIAGEBOT_SUMMARY_START --> ### Summary Notes - [Beta nomination](rust-lang/rust-clippy#16685 (comment)) by [samueltardieu](https://github.com/samueltardieu) *Managed by `@rustbot`—see [help](https://forge.rust-lang.org/triagebot/note.html) for details* <!-- TRIAGEBOT_SUMMARY_END --> <!-- TRIAGEBOT_END -->
Make `swap_binop()` a method of `HirEqInterExpr`, and use the proper typeck to check the type of an expression. changelog: none (fix of a regression, should be backported) Fixes rust-lang/rust-clippy#16505 <!-- TRIAGEBOT_START --> <!-- TRIAGEBOT_SUMMARY_START --> ### Summary Notes - [Beta-nomination](rust-lang/rust-clippy#16659 (comment)) by [samueltardieu](https://github.com/samueltardieu) *Managed by `@rustbot`—see [help](https://forge.rust-lang.org/triagebot/note.html) for details* <!-- TRIAGEBOT_SUMMARY_END --> <!-- TRIAGEBOT_END -->
…gression (rust-lang#16652) Fixes rust-lang/rust-clippy#16605 This PR addresses the 6.2% compilation performance regression introduced by the original `allow_unwrap_types` implementation (which natively allocated AST strings on every `unwrap` call via `bumpalo`). The implementation has been refactored to pre-resolve types securely without a performance penalty: **Pre-Resolution Cache via `LateLintPass`**: Instead of executing `ty.to_string()` and `lookup_path_str` inside the immediate `unwrap_expect_used` hot check for every method call encountered, `allow-unwrap-types` configuration strings are now parsed exactly *once* per crate compilation during the `LateLintPass::check_crate` hook in `clippy_lints/src/methods/mod.rs`. **`DefId` Native Storage**: The parsed `DefId` representations are stored in-memory using highly efficient caching maps directly on the main `Methods` struct: - `unwrap_allowed_ids: FxHashSet<DefId>`: Allows instant O(1) lookups for standard types. - `unwrap_allowed_aliases: Vec<DefId>`: Tracks type aliases requiring signature substitution checking later. **Execution Relief**: Inside `unwrap_expect_used::check()`, string manipulation is completely removed and `ty::Adt` checking uses lightning-fast `.contains(&adt.did())` operations to categorically avoid regression allocation loops. This implementation strongly parallels the pre-resolution type-routing logic in `clippy_config::types::create_disallowed_map` without altering the core `clippy.toml` config requirements. <!-- TRIAGEBOT_START --> <!-- TRIAGEBOT_SUMMARY_START --> ### Summary Notes - [Beta-nomination](rust-lang/rust-clippy#16652 (comment)) by [samueltardieu](https://github.com/samueltardieu) *Managed by `@rustbot`—see [help](https://forge.rust-lang.org/triagebot/note.html) for details* <!-- TRIAGEBOT_SUMMARY_END --> <!-- TRIAGEBOT_END --> changelog: none
|
|
@bors r+ |
This reverts two
dbg!changes to avoid regressions12 in the upcoming 1.95 release:dbg!prints std: avoid tearingdbg!prints #149869dbg!don't drop arguments' temporaries indbg!#154074This also reverts a stabilization over a late issue3 of semantics:
assert_matchesStabilizeassert_matches#137487And a few other backport/reverts from
main:-Znext-solverRemove the forced ambiguity hack from search graph" Revert "-Znext-solverRemove the forced ambiguity hack from search graph" #154712core::rangeranges do not have special syntax #155002Clippy is backporting 2 ICE fixes and 1 perf regression (via #155051):
match_same_armsrust-clippy#16685 already backported in [stable] 1.94.1 release #154211 to stable. This makes sure that it doesn't regress again in beta/next stableswap_binop()rust-clippy#16659 The ICE that is being fixed here was introduced in the 1.95 release cycleallow_unwrap_typesevaluation to eliminate performance regression rust-clippy#16652 Perf regression introduced in the 1.95 release cycle.Footnotes
1.95 beta regression: "temporary value dropped while borrowed" #153850 ↩
1.95 beta regression: "
luadoes not live long enough" #154988 ↩assert_eq/assert_matchesvsdebug_assert_eq/debug_assert_matcheshave different temporary scoping behavior #154406 ↩