Commit Graph

23238 Commits

Author SHA1 Message Date
Alejandra González fab7eab7fb Output lintcheck summary HTML markdown in order (#15371)
The data in the table needs to be in the same order as the headings.

changelog: none

Fixes rust-lang/rust-clippy#15370
2025-07-31 12:37:06 +00:00
Jason Newcomb 3c54672d1a Optimize some usages of !! and -- in suggestions (#15366)
When an expression is made of a `!` or `-` unary operator which does not
change the type of the expression, use a new variant in `Sugg` to denote
it. This allows replacing an extra application of the same operator by
the removal of the original operator instead.

Some suggestions will now be shown as `x` instead of `!!x`. Right now,
no suggestion seems to produce `--x`.

changelog: none
2025-07-30 17:35:10 +00:00
Alejandra González 445d41909e Fix iter_on_single_items FP on function pointers and let stmts (#15013)
Closes rust-lang/rust-clippy#14981

changelog: [`iter_on_single_items`] fix FP on function pointers and let
stmts
2025-07-30 16:42:12 +00:00
Samuel Tardieu 18e8ac3778 chore: fix some minor issues in comments (#15372)
fix some minor issues in comments

changelog:none
2025-07-30 08:01:10 +00:00
Samuel Tardieu 436efbba90 Fix min_ident_chars: ignore on trait impl. (#15275)
fixes rust-lang/rust-clippy#13396

changelog: [`min_ident_chars`]: ignore lint when implementing a trait,
to respect [`renamed_function_params`]
2025-07-30 07:57:34 +00:00
houpo-bob 64276e688c chore: fix some minor issues in comments
Signed-off-by: houpo-bob <houpocun@outlook.com>
2025-07-30 15:49:56 +08:00
Samuel Tardieu c57876242d Output lintcheck summary HTML markdown in order
The data in the table needs to be in the same order as the headings.
2025-07-30 09:49:27 +02:00
Tom Webber e8db4aa470 Fix min_ident_chars: add trait/impl awareness 2025-07-30 07:10:07 +02:00
Samuel Tardieu 642bec7617 Optimize some usages of double unary operators in suggestions
When an expression is made of a `!` or `-` unary operator which does not
change the type of the expression, use a new variant in `Sugg` to denote
it. This allows replacing an extra application of the same operator by
the removal of the original operator instead.

Also, when adding a unary operator to a suggestion, do not enclose the
operator argument in parentheses if it starts with a unary operator
itself unless it is a binary operation (including `as`), because in this
case parentheses are required to not bind the lhs only.

Some suggestions will now be shown as `x` instead of `!!x`. Right now,
no suggestion seems to produce `--x`.
2025-07-30 00:34:26 +02:00
Alejandra González c7dd98c809 Do not autofix comments containing bare CR (#15175)
When a bare CR is present in a four slashes comment, keep triggering the
lint but do not issue a fix suggestion as bare CRs are not supported in
doc comments. An extra note is added to the diagnostic to warn the user
about it.

I have put the test in a separate file to make it clear that the bare CR
is not a formatting error.

Fixes rust-lang/rust-clippy#15174

changelog: [`four_forward_slashes`]: warn about bare CR in comment, and
do not propose invalid autofix
2025-07-29 17:05:13 +00:00
Alejandra González b7cc5c45bd Fix search_is_some suggests wrongly inside macro (#15135)
Closes rust-lang/rust-clippy#15102

changelog: [`search_is_some`] fix wrong suggestions inside macro
2025-07-29 16:31:55 +00:00
dswij 7b3bd5bc8c Fix typo in internal error message (#15363)
changelog: none

@rustbot label +P-low +A-infra
2025-07-28 17:12:59 +00:00
Samuel Tardieu 431f95ec85 Fix typo in internal error message 2025-07-28 17:32:40 +02:00
Alex Macleod d73a6b797f Do not treat NixOS as a Pascal-cased identifier (#15361)
changelog: [`doc_markdown`]: do not treat NixOS as a Pascal-cased
identifier

Fixes rust-lang/rust-clippy#15360
2025-07-28 14:53:08 +00:00
Samuel Tardieu a55517ff4b Fix cast-lossless should not suggest when casting type is from macro input (#15358)
Closes rust-lang/rust-clippy#15348

The span of the `as` expr is also incorrect, but I believe it is not a
bug from Clippy.

changelog: [`cast-lossless`] fix wrong suggestions when casting type is
from macro input
2025-07-28 14:11:10 +00:00
yanglsh 938e79fdac fix: cast-lossless should not suggest when casting type is from macro input 2025-07-28 21:45:40 +08:00
Samuel Tardieu 18a13b15fe Do not treat NixOS as a Pascal-cased identifier 2025-07-28 15:25:46 +02:00
dswij f4f579f4ac Fix match_single_binding wrongly handles scope (#15060)
Closes rust-lang/rust-clippy#15018
Closes rust-lang/rust-clippy#15269

Continuation of rust-lang/rust-clippy#15017

changelog: [`match_single_binding`] fix wrong handling of scope
2025-07-28 12:10:42 +00:00
Samuel Tardieu 4bfb6d3fb5 Fix typo non_std_lazy_statics.rs (#15357)
Changes `MaybeIncorret` to `MaybeIncorrect`.

And since this is part of a doc comment, it might as well be a link.

changelog: none
2025-07-27 13:34:57 +00:00
Samuel Moelius 9339d8cac3 Fix typo non_std_lazy_statics.rs
Changes `MaybeIncorret` to `MaybeIncorrect`.

And since this is part of a doc comment, it might as well be a link.

changelog: none
2025-07-27 08:55:33 -04:00
llogiq 887b500e23 Fix let_unit_value suggests wrongly for format macros (#15085)
Closes rust-lang/rust-clippy#15061

changelog: [`let_unit_value`] fix wrong suggestions for format macros
2025-07-27 12:23:29 +00:00
Timo 3174c05949 fix: unnecessary_map_or don't add parens if the parent expr comes f… (#15345)
…rom a macro

changelog: [`unnecessary_map_or`]: don't add parens if the parent expr
comes from a macro

fixes rust-lang/rust-clippy#14714
2025-07-27 12:15:17 +00:00
Timo f126db47bc Fix empty_structs_with_brackets suggests wrongly on generics (#15355)
Closes rust-lang/rust-clippy#15349

changelog: [`empty_structs_with_brackets`] fix wrong suggestions on
generics
2025-07-27 12:00:08 +00:00
Ada Alakbarova 81fc22753e fix: unnecessary_map_or don't add parens if the parent expr comes from a macro 2025-07-27 13:54:47 +02:00
yanglsh c78f3aedfc fix: empty_structs_with_brackets suggests wrongly on generics 2025-07-27 15:13:34 +08:00
Timo 651ca3372b Detect prefixed attributes as duplicated (#15212)
Fix `duplicated_attributes` lint to detect prefixed attributes like
`clippy::lint_name`.
Fixes rust-lang/rust-clippy#14942

changelog: [`duplicated_attributes`]: detect duplicated prefixed
attributes
2025-07-26 19:07:12 +00:00
llogiq f9ab9d0217 fix ip_constant when call wrapped in extra parens (#15339)
changelog: [`ip_constant`]: fix suggestion when call is inside
parentheses like `(Ipv4Addr::new(127, 0, 0, 1))`

Very similar to the fix in
https://github.com/rust-lang/rust-clippy/pull/15191
2025-07-26 15:23:47 +00:00
Samuel Tardieu 03978193a5 Get myself back on assignment rotation (#15346)
changelog: none
2025-07-25 20:57:03 +00:00
Samuel Tardieu 03986e640c Get myself back on assignment rotation 2025-07-25 22:51:47 +02:00
Philipp Krones 1db89a1b1c Rustup (#15341)
r? @ghost

changelog: none
2025-07-25 13:14:01 +00:00
Philipp Krones d0fa808df5 Fix if_same_then_else with if let conditions
Apparently they are no longer split 1 LHS + rest RHS
2025-07-25 15:08:50 +02:00
Philipp Krones 31baffd6ee Bump nightly version -> 2025-07-25 2025-07-25 15:08:44 +02:00
Philipp Krones d64eb62e2c Update .gitignore
Add !clippy_test_deps/Cargo.lock and clippy_lints_internal/target
2025-07-25 15:08:39 +02:00
Philipp Krones c98e60a56e Merge remote-tracking branch 'upstream/master' into rustup 2025-07-25 15:04:01 +02:00
dswij e85b1dd6da Remove "Known problems" section for clippy::redundant_closure (#15331)
Remove "Known problems" section for `clippy::redundant_closure` since it
was fixed by [this
PR](https://github.com/rust-lang/rust-clippy/pull/4008)
We can see this by running examples from [the
issue](https://github.com/rust-lang/rust-clippy/issues/1439), for ex.
[this
one](https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=6562527b4c3f6dcebb3c43718341af98)

changelog: none
2025-07-25 08:10:05 +00:00
Alejandra González 98205e60cc Fix if_then_some_else_none FP when require type coercion (#15267)
Closes rust-lang/rust-clippy#15257

changelog: [`if_then_some_else_none`] fix FP when require type coercion
2025-07-24 23:50:14 +00:00
newt da6618097f Detect prefixed attributes as duplicated 2025-07-25 00:34:01 +01:00
Dan Johnson 0aa92fdba6 fix ip_constant when call wrapped in extra parens 2025-07-24 14:55:58 -07:00
León Orell Valerian Liehr 49e0ae0b9b Rollup merge of #144014 - dianne:edition-guide-links, r=estebank
don't link to the nightly version of the Edition Guide in stable lints

As reported in rust-lang/rust#143557 for `rust_2024_incompatible_pat`, most future-Edition-incompatibility lints link to the nightly version of the Edition Guide; the lints were written before their respective Editions (and their guides) stabilized. But now that Rusts 2021 and 2024 are stable, these lints are emitted on stable versions of the compiler, where it makes more sense to present users with links that don't say "nightly" in them.

This does not change the link for `rust_2024_incompatible_pat`. That's handled in rust-lang/rust#144006.
2025-07-24 15:08:21 +02:00
Timo 7d5833fd84 Correct help message for arc_with_non_send_sync (#15332)
Small typo fix for the `arc_with_non_send_sync` lint.

changelog: none
2025-07-24 10:28:48 +00:00
Marvin Friedrich 5cd24d70cb Correct help message for arc_with_non_send_sync 2025-07-24 12:18:14 +02:00
alexey semenyuk 55be3c2f58 Remove "Known problems" section for clippy::redundant_closure 2025-07-24 13:11:00 +05:00
Camille GILLOT ddf9b378aa Remove useless lifetime parameter. 2025-07-23 23:54:37 +00:00
Alejandra González 8ad5c67ff9 Fix module_name_repetitions FP on exported macros (#15319)
Closes rust-lang/rust-clippy#14095

changelog: [`module_name_repetitions`] fix FP on exported macros
2025-07-23 23:11:01 +00:00
Alex Macleod b2c8c02a02 Fix unused_async FP on function with todo! (#15308)
Closes rust-lang/rust-clippy#15305

changelog: [`unused_async`] fix FP on function with `todo!`
2025-07-23 13:43:55 +00:00
Jonathan Brouwer e07a4ee103 Ports #[macro_use] and #[macro_escape] to the new attribute parsing infrastructure 2025-07-23 13:33:23 +02:00
yanglsh 6a8780473e fix: unused_async FP on function with todo! 2025-07-22 23:25:31 +08:00
Matthias Krüger 3ed170f02c Rollup merge of #143373 - cjgillot:bare-unused-trait-imports, r=petrochenkov
Unquerify maybe_unused_trait_imports.

Based on https://github.com/rust-lang/rust/pull/143247
r? ```@ghost``` for perf
2025-07-22 10:26:14 +02:00
许杰友 Jieyou Xu (Joe) 97380318b4 Rollup merge of #144027 - RalfJung:clippy, r=Mark-Simulacrum
clippy: make tests work in stage 1

This finally fixes https://github.com/rust-lang/rust/issues/78717 :)

Similar to what Miri already does, the clippy test step needs to carefully consider  which compiler is used to build clippy and which compiler is linked into clippy (and thus must be used to build the test dependencies). On top of that we have some extra complications that Miri avoided by using `cargo-miri` for building its test dependencies: we need cargo to use the right rustc and the right sysroot, but https://github.com/rust-lang/cargo/issues/4423 makes this quite hard to do. See the long comment in `src/tools/clippy/tests/compile-test.rs` for details.

Some clippy tests tried to import rustc crates; that fundamentally requires a full bootstrap loop so it cannot work in stage 1. I had to kind of guess what those tests were doing so I don't know if my changes there make any sense.

Cc ```@flip1995``` ```@Kobzol```
2025-07-22 00:54:28 +08:00
yanglsh bebae76f23 fix: module_name_repetitions FP on exported macros 2025-07-21 21:49:41 +08:00