Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
ea2ea62
Note that using `enumerate()` will swap the arguments
samueltardieu Jun 4, 2025
d43c55b
Bless clippy tests.
m-ou-se Aug 26, 2025
e513ecc
Fix `explicit_deref_methods` triggering from within proc macros
JustusFluegel Sep 7, 2025
b92330b
fix `nonstandard_macro_braces`: suggest trailing semicolon when needed
ada4a Aug 30, 2025
05156f4
clean-up `single_match` a bit
ada4a Sep 8, 2025
593a9c9
fix(collapsible{,_else}_if): respect `#[expect]` on inner `if`
ada4a Sep 9, 2025
4d931e6
Remove `DynKind`
fmease Sep 17, 2025
2972ae5
rename_lint: unchecked_duration_subtraction to unchecked_time_subtrac…
sharksforarms Jun 28, 2025
b0566b9
rename module: instant_substraction to time_substraction
sharksforarms Jun 28, 2025
f296de4
Implement Duration - Duration
sharksforarms Jun 28, 2025
26cf3ee
Rework `module_inception`
Jarcho May 8, 2025
2267234
Rollup merge of #146664 - fmease:clean-up-dyn, r=jdonszelmann
Zalathar Sep 18, 2025
b3e056f
`module_style`: refactor and don't lint mod tagged with path attr
zihan0822 Aug 11, 2025
427774a
Changelog: fix heading level in 1.90 section
kpreid Sep 18, 2025
47bcee4
Merge commit '20ce69b9a63bcd2756cd906fe0964d1e901e042a' into clippy-s…
flip1995 Sep 18, 2025
8a5dc7c
Changelog: fix heading level in 1.90 section (#15703)
samueltardieu Sep 18, 2025
63a5508
Add clippy::self_only_used_in_recursion lint
pommicket May 12, 2025
00bbdea
Rework `module_inception` (#14753)
y21 Sep 18, 2025
4a909bc
Fix versions lints from 1.90.0
alex-semenyuk Sep 19, 2025
fac86e3
Fix versions lints for 1.90.0 (#15712)
samueltardieu Sep 19, 2025
8ea47a6
Add `clippy::self_only_used_in_recursion` lint (#14787)
samueltardieu Sep 19, 2025
fb7e89c
fix: `question_mark` FP on variables used after
profetia Sep 9, 2025
c2325dc
Note that using `enumerate()` will swap the arguments (#14969)
blyxyas Sep 19, 2025
cc5a01d
fix `nonstandard_macro_braces`: suggest trailing semicolon when neede…
blyxyas Sep 19, 2025
1c14af8
clean-up `single_match` a bit (#15641)
blyxyas Sep 19, 2025
3e65620
Add tests for `explicit_deref_methods` lints from within proc macros
JustusFluegel Sep 7, 2025
2f6503d
Update actions/download-artifact to v5
alex-semenyuk Sep 20, 2025
77f44f2
`default_constructed_unit_structs`: use `check_source_text`
ada4a Sep 21, 2025
f76664c
clean-up `match_same_arms` a bit
ada4a Sep 21, 2025
b6c4b30
move `copies.rs` to `ifs/mod.rs`
ada4a Sep 19, 2025
95f5a00
extract each lint into its own module
ada4a Sep 21, 2025
7d80c15
Port #[macro_export] to the new attribute parsing infrastructure
JonathanBrouwer Sep 21, 2025
d84505b
Post lint on the type HIR node
samueltardieu Sep 18, 2025
d99cf5c
Post lint on the type HIR node (#15709)
blyxyas Sep 21, 2025
27cad5a
fix `unnecessary_semicolon`: FN on `#[feature(stmt_expr_attributes)]`
ada4a Aug 13, 2025
0ed31be
rename `mut_reference` to `unnecessary_mut_passed`
ada4a Sep 21, 2025
507a7ec
fix `unnecessary_semicolon`: FN on `#[feature(stmt_expr_attributes)]`…
blyxyas Sep 22, 2025
5e7db29
Update actions/download-artifact to v5 (#15726)
flip1995 Sep 22, 2025
a23d4e1
flip1995 is back from vacation
flip1995 Sep 22, 2025
7a95605
flip1995 is back from vacation (#15733)
flip1995 Sep 22, 2025
6b71c16
Fix `question_mark` FP on variables used after (#15644)
samueltardieu Sep 23, 2025
526d794
create let-chain
ada4a Aug 19, 2025
54e2847
extract helper functions
ada4a Aug 19, 2025
34d9a2a
use `match`
ada4a Aug 20, 2025
21a5948
incorporate review feedback
ada4a Sep 21, 2025
220e137
split `unnecessary_clone` test into `clone_on_ref_ptr` and `clone_on_…
ada4a Sep 23, 2025
38a2829
doc(trait_checking): use `is_some_and`
ada4a Sep 23, 2025
9bcc8a4
doc(trait_checking): use `is_some_and` (#15743)
flip1995 Sep 23, 2025
14d36c7
split `unnecessary_clone` test into `clone_on_ref_ptr` and `clone_on_…
dswij Sep 23, 2025
af0bc98
Check for proc macros from within `explicit_deref_methods` and do not…
Alexendoo Sep 23, 2025
ace2e27
Cleanup: group code for `single_char_add_str` lint in one file
samueltardieu Sep 23, 2025
4f07fe2
Cleanup: group code for `single_char_add_str` lint in one file (#15750)
Alexendoo Sep 24, 2025
3e0590c
`non_canonical_impls`: split the main `check` function (#15520)
blyxyas Sep 24, 2025
5317b7b
clean-up
ada4a Sep 24, 2025
7449d63
fix(or_fun_call): respect MSRV for `Result::unwrap_or_default` sugges…
ada4a Sep 24, 2025
50d19cf
fix(or_fun_call): respect MSRV for `Result::unwrap_or_default` sugges…
samueltardieu Sep 24, 2025
9cb82d7
fix(unnecessary_mut_passed): retain parens around the arguments
ada4a Sep 21, 2025
d63a7cc
Update actions/github-script to v8
alex-semenyuk Sep 24, 2025
44052c4
Update actions/github-script to v8 (#15757)
flip1995 Sep 24, 2025
2b03bc1
`default_constructed_unit_structs`: use `check_source_text` (#15728)
Jarcho Sep 25, 2025
4b236fc
fix(`collapsible{,_else}_if`): respect `#[expect]` on inner `if` (#15…
Jarcho Sep 25, 2025
5619465
`filter_next`: check for `filter().next_back()`
zihan0822 Sep 23, 2025
283aad0
resolve: Do not finalize shadowed bindings
petrochenkov Aug 1, 2025
bd39ea4
inline `clippy_utils::ptr` into `needless_pass_by_value`
ada4a Sep 24, 2025
24b0282
inline `clippy_utils::ptr` into `needless_pass_by_value` (#15760)
samueltardieu Sep 25, 2025
c56f950
Auto merge of #145882 - m-ou-se:format-args-extend-1-arg, r=petrochenkov
bors Sep 26, 2025
abdc61f
`filter_next`: check for `filter().next_back()` (#15748)
Jarcho Sep 26, 2025
8d93181
Rollup merge of #145113 - petrochenkov:lessfinalize, r=lcnr
matthiaskrgr Sep 26, 2025
36d6327
castkind::subtype in clippy
beepster4096 Sep 26, 2025
714fdac
Apply cfg(bootstrap) replacement
Mark-Simulacrum Sep 16, 2025
7c4cde8
Auto merge of #146636 - Mark-Simulacrum:bootstrap-bump, r=jieyouxu
bors Sep 27, 2025
5e02a4e
rename `unchecked_duration_subtraction` to `unchecked_time_subtractio…
Jarcho Sep 27, 2025
65f4098
refactor `module_style` (#15469)
Jarcho Sep 27, 2025
3e218d1
fix(unnecessary_mut_passed): retain parens around the arguments (#15731)
Alexendoo Sep 27, 2025
77c96c0
clean-up
ada4a Aug 5, 2025
dbef783
call args "args" in the `Call` case as well
ada4a Aug 22, 2025
6a6b4a3
combine the `Call` and `MethodCall` cases
ada4a Aug 22, 2025
82b2eb1
add structured suggestions
ada4a Aug 22, 2025
b613be2
fix a bug while we're at it
ada4a Aug 22, 2025
bb1081e
move unfixable stuff to a separate file
ada4a Aug 5, 2025
a4fba85
sugg on expr 1
ada4a Aug 3, 2025
70be286
sugg on expr 2
ada4a Aug 5, 2025
269870a
fix: don't lint in macro calls
ada4a Aug 4, 2025
729d92c
sugg on ty
ada4a Aug 3, 2025
c6971c2
only lint once on 3+ `&mut`s
ada4a Aug 5, 2025
4053c44
misc: import more from `hir`
ada4a Aug 5, 2025
9a1b2bc
peel _all_ extra `&mut`s
ada4a Aug 5, 2025
5546806
remember all the nested types while we loop
ada4a Aug 5, 2025
75b6860
add an unfixable case
ada4a Aug 5, 2025
dc534c4
doc: add more examples, and a "Use instead" section, don't be condesc…
ada4a Aug 5, 2025
6b4febe
simplify and inline `is_async_fn`
ada4a Sep 28, 2025
30f284d
remove explicit deref of AbiAlign for most methods
workingjubilee Sep 28, 2025
3c93ba0
`is_async_fn`: use `FnKind::asyncness` (#15772)
Alexendoo Sep 28, 2025
f6e223c
clean-up
ada4a Sep 28, 2025
26a9a37
clean-up: extract `should_implement_trait`
ada4a Sep 28, 2025
2d2d143
fix: respect crate's edition
ada4a Sep 28, 2025
17cecfd
fix: `new_without_default` FP on private type with trait impl
profetia Sep 29, 2025
642feb7
fix: `if_then_some_else_none` FP when return exists in block expr
profetia Sep 29, 2025
dfd8b2d
Fix `new_without_default` FP on private type with trait impl (#15782)
Jarcho Sep 29, 2025
c3e4d2b
clean-up
ada4a Sep 29, 2025
48ee470
fix: actually use the `Applicability`
ada4a Sep 29, 2025
f6dd112
fix: create the suggestion "differentially"
ada4a Sep 29, 2025
98a92bf
overhaul `mut_mut` (#15417)
blyxyas Sep 29, 2025
5ab16d1
fix(let_unit_value): create the suggestion "differentially" (#15788)
samueltardieu Sep 29, 2025
b05d55e
fix(should_implement_trait): only suggest traits that are in the prel…
samueltardieu Sep 29, 2025
93355f1
clean-up
ada4a Sep 19, 2025
7a04ada
fix(new_without_default): if `new` has `#[cfg]`, copy that onto `impl…
ada4a Sep 19, 2025
1a415e6
`double_parens`: add structured suggestions, fix bug (#15420)
Jarcho Sep 29, 2025
189b4c3
fix(new_without_default): if `new` has `#[cfg]`, copy that onto `impl…
samueltardieu Sep 30, 2025
1da0092
`redundant_pattern_match`: clean-up
ada4a Sep 30, 2025
3ca0738
Fix `if_then_some_else_none` FP when return exists in block expr (#15…
Alexendoo Sep 30, 2025
089fbd3
fix: `let_unit_value` suggests wrongly for field init shorthand
profetia Sep 30, 2025
195ff23
`new_ret_no_self`: extract to a separate module
ada4a Sep 28, 2025
b321950
`map_identity`: simplify lint emission
ada4a Sep 30, 2025
e9ede27
test: remove extraneous `#[allow(clippy::uninlined_format_args)]`
ada4a Aug 24, 2025
f985261
fix: `mem_replace_with_default` wrongly unmangled macros
profetia Aug 25, 2025
8fafe7a
test: remove extraneous `#[allow(clippy::uninlined_format_args)]` (#1…
blyxyas Sep 30, 2025
1db4d8e
Split Bound into Canonical and Bound
jackh726 Sep 28, 2025
d423321
Fix `mem_replace_with_default` wrongly unmangled macros (#15786)
samueltardieu Sep 30, 2025
61b1f0e
`assertions_on_constants`: Don't suggest removing assertions with non…
Jarcho Aug 23, 2025
f084864
`assertions_on_constants`: Suggest using a const block when using a n…
samueltardieu Sep 30, 2025
e74d4bd
clean-up `match_same_arms` a bit (#15727)
blyxyas Sep 30, 2025
f107991
Do not suggest using a `if let` chain if it is not supported
samueltardieu Sep 23, 2025
3e24d50
Rename `eval_simple` to `eval_local` and take the `SyntaxContext` as …
Jarcho Aug 23, 2025
0c7e034
Do not suggest using a `if let` chain if it is not supported (#15746)
blyxyas Oct 1, 2025
12e0c4c
`map_identity`: simplify lint emission (#15797)
blyxyas Oct 1, 2025
951d35e
Do not trigger `inefficient_to_string` after Rust 1.82
samueltardieu Sep 21, 2025
6cc8f8d
Do not trigger `inefficient_to_string` after Rust 1.82 (#15729)
Jarcho Oct 1, 2025
b65550d
Auto merge of #147055 - beepster4096:subtype_is_not_a_projection, r=lcnr
bors Oct 2, 2025
d36a560
Auto merge of #147138 - jackh726:split-canonical-bound, r=lcnr
bors Oct 2, 2025
aa1fa10
split `copies` lints each into its own module (#15721)
dswij Oct 2, 2025
3d2a8df
Upgrade `toml` to 0.9.7 and remove the `serde` feature.
Jarcho Oct 2, 2025
87d2891
Cleanup `should_implement_trait` lint code
samueltardieu Sep 29, 2025
8229701
Fix `let_unit_value` suggests wrongly for field init shorthand (#15791)
blyxyas Oct 3, 2025
24befed
clean-up
ada4a Oct 3, 2025
0a7b328
Upgrade `toml` to 0.9.7 and remove the `serde` feature (#15806)
samueltardieu Oct 4, 2025
adff9ba
fix(zero_repeat_side_effects): better identify exprs with side effects
ada4a Oct 3, 2025
19343bf
fix(zero_repeat_side_effects): better identify exprs with side effect…
samueltardieu Oct 4, 2025
3d351c8
Const eval changes:
Jarcho Aug 23, 2025
47b0f90
Use `eval_local` in more places.
Jarcho Aug 24, 2025
d289009
Const eval changes (#15773)
samueltardieu Oct 4, 2025
2a9eb78
`redundant_pattern_match`: clean-up (#15796)
Alexendoo Oct 5, 2025
aa0b914
Cleanup `should_implement_trait` lint code (#15804)
blyxyas Oct 6, 2025
c609d29
`new_ret_no_self`: extract to a separate module (#15798)
y21 Oct 6, 2025
f4b4fb9
Fixed some lint deprecated versions
teofr Oct 6, 2025
23b1ace
Fixed some lint deprecated versions in the documentation (#15822)
blyxyas Oct 6, 2025
15727e0
Merge remote-tracking branch 'upstream/master' into rustup
flip1995 Oct 6, 2025
085ddaa
Bump nightly version -> 2025-10-06
flip1995 Oct 6, 2025
2dc84cb
Rustup (#15823)
flip1995 Oct 6, 2025
827fc6e
Merge commit '2dc84cb744ad19d187871afb0385a616d80c209d' into clippy-s…
flip1995 Oct 6, 2025
8c4be66
Update Cargo.lock
flip1995 Oct 6, 2025
e652436
Allow serde_core as a dependency
flip1995 Oct 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 79 additions & 20 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ dependencies = [
"memchr",
"serde",
"serde_derive",
"winnow 0.7.12",
"winnow 0.7.13",
]

[[package]]
Expand Down Expand Up @@ -590,7 +590,7 @@ dependencies = [
"serde_json",
"tempfile",
"termize",
"toml 0.7.8",
"toml 0.9.7",
"ui_test",
"walkdir",
]
Expand Down Expand Up @@ -632,7 +632,7 @@ dependencies = [
"regex-syntax 0.8.5",
"semver",
"serde",
"toml 0.7.8",
"toml 0.9.7",
"unicode-normalization",
"unicode-script",
"url",
Expand Down Expand Up @@ -1866,13 +1866,14 @@ checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5"

[[package]]
name = "indexmap"
version = "2.10.0"
version = "2.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5"
dependencies = [
"equivalent",
"hashbrown",
"serde",
"serde_core",
]

[[package]]
Expand Down Expand Up @@ -5003,10 +5004,11 @@ dependencies = [

[[package]]
name = "serde"
version = "1.0.219"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
dependencies = [
"serde_core",
"serde_derive",
]

Expand All @@ -5031,11 +5033,20 @@ dependencies = [
"serde",
]

[[package]]
name = "serde_core"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
dependencies = [
"serde_derive",
]

[[package]]
name = "serde_derive"
version = "1.0.219"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [
"proc-macro2",
"quote",
Expand Down Expand Up @@ -5084,6 +5095,15 @@ dependencies = [
"serde",
]

[[package]]
name = "serde_spanned"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5417783452c2be558477e104686f7de5dae53dba813c28435e0e70f82d9b04ee"
dependencies = [
"serde_core",
]

[[package]]
name = "sha1"
version = "0.10.6"
Expand Down Expand Up @@ -5545,8 +5565,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
"serde_spanned 0.6.9",
"toml_datetime 0.6.11",
"toml_edit 0.19.15",
]

Expand All @@ -5558,11 +5578,26 @@ checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
dependencies = [
"indexmap",
"serde",
"serde_spanned",
"toml_datetime",
"serde_spanned 0.6.9",
"toml_datetime 0.6.11",
"toml_edit 0.22.27",
]

[[package]]
name = "toml"
version = "0.9.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00e5e5d9bf2475ac9d4f0d9edab68cc573dc2fd644b0dba36b0c30a92dd9eaa0"
dependencies = [
"indexmap",
"serde_core",
"serde_spanned 1.0.2",
"toml_datetime 0.7.2",
"toml_parser",
"toml_writer",
"winnow 0.7.13",
]

[[package]]
name = "toml_datetime"
version = "0.6.11"
Expand All @@ -5572,6 +5607,15 @@ dependencies = [
"serde",
]

[[package]]
name = "toml_datetime"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1"
dependencies = [
"serde_core",
]

[[package]]
name = "toml_edit"
version = "0.19.15"
Expand All @@ -5580,8 +5624,8 @@ checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [
"indexmap",
"serde",
"serde_spanned",
"toml_datetime",
"serde_spanned 0.6.9",
"toml_datetime 0.6.11",
"winnow 0.5.40",
]

Expand All @@ -5593,10 +5637,19 @@ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
dependencies = [
"indexmap",
"serde",
"serde_spanned",
"toml_datetime",
"serde_spanned 0.6.9",
"toml_datetime 0.6.11",
"toml_write",
"winnow 0.7.12",
"winnow 0.7.13",
]

[[package]]
name = "toml_parser"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627"
dependencies = [
"winnow 0.7.13",
]

[[package]]
Expand All @@ -5605,6 +5658,12 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"

[[package]]
name = "toml_writer"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d163a63c116ce562a22cda521fcc4d79152e7aba014456fb5eb442f6d6a10109"

[[package]]
name = "tracing"
version = "0.1.41"
Expand Down Expand Up @@ -6569,9 +6628,9 @@ dependencies = [

[[package]]
name = "winnow"
version = "0.7.12"
version = "0.7.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95"
checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf"
dependencies = [
"memchr",
]
Expand Down
1 change: 1 addition & 0 deletions src/bootstrap/src/utils/proc_macro_deps.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ pub static CRATES: &[&str] = &[
"rustc-hash",
"self_cell",
"serde",
"serde_core",
"serde_derive_internals",
"sha2",
"smallvec",
Expand Down
2 changes: 1 addition & 1 deletion src/tools/clippy/.github/workflows/clippy_mq.yml
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ jobs:

# Download
- name: Download target dir
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: binaries
path: target/debug
Expand Down
2 changes: 1 addition & 1 deletion src/tools/clippy/.github/workflows/lintcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ jobs:
fail-on-cache-miss: true

- name: Download JSON
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5

- name: Store PR number
run: echo ${{ github.event.pull_request.number }} > pr.txt
Expand Down
4 changes: 2 additions & 2 deletions src/tools/clippy/.github/workflows/lintcheck_summary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ jobs:
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Download artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: summary
path: untrusted
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ github.token }}

- name: Format comment
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
const fs = require("fs");
Expand Down
4 changes: 3 additions & 1 deletion src/tools/clippy/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Current stable, released 2025-09-18
Note: This Clippy release does not introduce many new lints and is focused entirely on bug fixes — see
[#15086](https://github.com/rust-lang/rust-clippy/issues/15086) for more details.

## New Lints
### New Lints

* Added [`manual_is_multiple_of`] to `complexity` [#14292](https://github.com/rust-lang/rust-clippy/pull/14292)
* Added [`doc_broken_link`] to `pedantic` [#13696](https://github.com/rust-lang/rust-clippy/pull/13696)
Expand Down Expand Up @@ -6598,6 +6598,7 @@ Released 2018-09-13
[`self_assignment`]: https://rust-lang.github.io/rust-clippy/master/index.html#self_assignment
[`self_named_constructors`]: https://rust-lang.github.io/rust-clippy/master/index.html#self_named_constructors
[`self_named_module_files`]: https://rust-lang.github.io/rust-clippy/master/index.html#self_named_module_files
[`self_only_used_in_recursion`]: https://rust-lang.github.io/rust-clippy/master/index.html#self_only_used_in_recursion
[`semicolon_if_nothing_returned`]: https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
[`semicolon_inside_block`]: https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_inside_block
[`semicolon_outside_block`]: https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_outside_block
Expand Down Expand Up @@ -6703,6 +6704,7 @@ Released 2018-09-13
[`type_repetition_in_bounds`]: https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds
[`unbuffered_bytes`]: https://rust-lang.github.io/rust-clippy/master/index.html#unbuffered_bytes
[`unchecked_duration_subtraction`]: https://rust-lang.github.io/rust-clippy/master/index.html#unchecked_duration_subtraction
[`unchecked_time_subtraction`]: https://rust-lang.github.io/rust-clippy/master/index.html#unchecked_time_subtraction
[`unconditional_recursion`]: https://rust-lang.github.io/rust-clippy/master/index.html#unconditional_recursion
[`undocumented_unsafe_blocks`]: https://rust-lang.github.io/rust-clippy/master/index.html#undocumented_unsafe_blocks
[`undropped_manually_drops`]: https://rust-lang.github.io/rust-clippy/master/index.html#undropped_manually_drops
Expand Down
7 changes: 6 additions & 1 deletion src/tools/clippy/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,18 @@ ui_test = "0.30.2"
regex = "1.5.5"
serde = { version = "1.0.145", features = ["derive"] }
serde_json = "1.0.122"
toml = "0.7.3"
walkdir = "2.3"
filetime = "0.2.9"
itertools = "0.12"
pulldown-cmark = { version = "0.11", default-features = false, features = ["html"] }
askama = { version = "0.14", default-features = false, features = ["alloc", "config", "derive"] }

[dev-dependencies.toml]
version = "0.9.7"
default-features = false
# preserve_order keeps diagnostic output in file order
features = ["parse", "preserve_order"]

[build-dependencies]
rustc_tools_util = { path = "rustc_tools_util", version = "0.4.2" }

Expand Down
11 changes: 5 additions & 6 deletions src/tools/clippy/book/src/development/trait_checking.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,11 @@ use rustc_span::symbol::sym;

impl LateLintPass<'_> for CheckIteratorTraitLint {
fn check_expr(&mut self, cx: &LateContext<'_>, expr: &Expr<'_>) {
let implements_iterator = cx.tcx.get_diagnostic_item(sym::Iterator).map_or(false, |id| {
implements_trait(cx, cx.typeck_results().expr_ty(expr), id, &[])
});
if implements_iterator {
// [...]
}
let implements_iterator = (cx.tcx.get_diagnostic_item(sym::Iterator))
.is_some_and(|id| implements_trait(cx, cx.typeck_results().expr_ty(expr), id, &[]));
if implements_iterator {
// [...]
}

}
}
Expand Down
5 changes: 4 additions & 1 deletion src/tools/clippy/book/src/lint_configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -845,6 +845,7 @@ The minimum rust version that the project supports. Defaults to the `rust-versio
* [`from_over_into`](https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into)
* [`if_then_some_else_none`](https://rust-lang.github.io/rust-clippy/master/index.html#if_then_some_else_none)
* [`index_refutable_slice`](https://rust-lang.github.io/rust-clippy/master/index.html#index_refutable_slice)
* [`inefficient_to_string`](https://rust-lang.github.io/rust-clippy/master/index.html#inefficient_to_string)
* [`io_other_error`](https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error)
* [`iter_kv_map`](https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map)
* [`legacy_numeric_constants`](https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants)
Expand Down Expand Up @@ -883,6 +884,7 @@ The minimum rust version that the project supports. Defaults to the `rust-versio
* [`needless_borrow`](https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow)
* [`non_std_lazy_statics`](https://rust-lang.github.io/rust-clippy/master/index.html#non_std_lazy_statics)
* [`option_as_ref_deref`](https://rust-lang.github.io/rust-clippy/master/index.html#option_as_ref_deref)
* [`or_fun_call`](https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call)
* [`ptr_as_ptr`](https://rust-lang.github.io/rust-clippy/master/index.html#ptr_as_ptr)
* [`question_mark`](https://rust-lang.github.io/rust-clippy/master/index.html#question_mark)
* [`redundant_field_names`](https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names)
Expand All @@ -894,9 +896,10 @@ The minimum rust version that the project supports. Defaults to the `rust-versio
* [`transmute_ptr_to_ref`](https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref)
* [`tuple_array_conversions`](https://rust-lang.github.io/rust-clippy/master/index.html#tuple_array_conversions)
* [`type_repetition_in_bounds`](https://rust-lang.github.io/rust-clippy/master/index.html#type_repetition_in_bounds)
* [`unchecked_duration_subtraction`](https://rust-lang.github.io/rust-clippy/master/index.html#unchecked_duration_subtraction)
* [`unchecked_time_subtraction`](https://rust-lang.github.io/rust-clippy/master/index.html#unchecked_time_subtraction)
* [`uninlined_format_args`](https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args)
* [`unnecessary_lazy_evaluations`](https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations)
* [`unnecessary_unwrap`](https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap)
* [`unnested_or_patterns`](https://rust-lang.github.io/rust-clippy/master/index.html#unnested_or_patterns)
* [`unused_trait_names`](https://rust-lang.github.io/rust-clippy/master/index.html#unused_trait_names)
* [`use_self`](https://rust-lang.github.io/rust-clippy/master/index.html#use_self)
Expand Down
5 changes: 4 additions & 1 deletion src/tools/clippy/clippy_config/src/conf.rs
Original file line number Diff line number Diff line change
Expand Up @@ -741,6 +741,7 @@ define_Conf! {
from_over_into,
if_then_some_else_none,
index_refutable_slice,
inefficient_to_string,
io_other_error,
iter_kv_map,
legacy_numeric_constants,
Expand Down Expand Up @@ -779,6 +780,7 @@ define_Conf! {
needless_borrow,
non_std_lazy_statics,
option_as_ref_deref,
or_fun_call,
ptr_as_ptr,
question_mark,
redundant_field_names,
Expand All @@ -790,9 +792,10 @@ define_Conf! {
transmute_ptr_to_ref,
tuple_array_conversions,
type_repetition_in_bounds,
unchecked_duration_subtraction,
unchecked_time_subtraction,
uninlined_format_args,
unnecessary_lazy_evaluations,
unnecessary_unwrap,
unnested_or_patterns,
unused_trait_names,
use_self,
Expand Down
7 changes: 6 additions & 1 deletion src/tools/clippy/clippy_lints/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,17 @@ itertools = "0.12"
quine-mc_cluskey = "0.2"
regex-syntax = "0.8"
serde = { version = "1.0", features = ["derive"] }
toml = "0.7.3"
unicode-normalization = "0.1"
unicode-script = { version = "0.5", default-features = false }
semver = "1.0"
url = "2.2"

[dependencies.toml]
version = "0.9.7"
default-features = false
# preserve_order keeps diagnostic output in file order
features = ["parse", "preserve_order"]

[dev-dependencies]
walkdir = "2.3"

Expand Down
Loading
Loading