@@ -6,11 +6,68 @@ document.
6
6
7
7
## Unreleased / Beta / In Rust Nightly
8
8
9
- [609cd310...master](https://github.com/rust-lang/rust-clippy/compare/609cd310...master)
9
+ [3e3715c3...master](https://github.com/rust-lang/rust-clippy/compare/3e3715c3...master)
10
+
11
+ ## Rust 1.86
12
+
13
+ Current stable, released 2025-04-03
14
+
15
+ [View all 108 merged pull requests](https://github.com/rust-lang/rust-clippy/pulls?q=merged%3A2024-12-27T15%3A11%3A38Z..2025-02-06T13%3A57%3A58Z+base%3Amaster)
16
+
17
+ ### New Lints
18
+
19
+ * Added [`unneeded_struct_pattern`] to `style` [#13465](https://github.com/rust-lang/rust-clippy/pull/13465)
20
+ * Added [`doc_overindented_list_items`] to `style` [#13711](https://github.com/rust-lang/rust-clippy/pull/13711)
21
+ * Added [`manual_ok_err`] to `complexity` [#13740](https://github.com/rust-lang/rust-clippy/pull/13740)
22
+ * Added [`non_std_lazy_statics`] to `pedantic` [#13770](https://github.com/rust-lang/rust-clippy/pull/13770)
23
+ * Added [`manual_repeat_n`] to `style` [#13858](https://github.com/rust-lang/rust-clippy/pull/13858)
24
+ * Added [`manual_option_as_slice`] to `complexity` [#13901](https://github.com/rust-lang/rust-clippy/pull/13901)
25
+ * Added [`double_ended_iterator_last`] to `perf` [#13922](https://github.com/rust-lang/rust-clippy/pull/13922)
26
+ * Added [`useless_nonzero_new_unchecked`] to `complexity` [#13993](https://github.com/rust-lang/rust-clippy/pull/13993)
27
+ * Added [`sliced_string_as_bytes`] to `perf` [#14002](https://github.com/rust-lang/rust-clippy/pull/14002)
28
+ * Added [`unnecessary_semicolon`] to `pedantic` [#14032](https://github.com/rust-lang/rust-clippy/pull/14032)
29
+ * Added [`return_and_then`] to `restriction` [#14051](https://github.com/rust-lang/rust-clippy/pull/14051)
30
+ * Added [`manual_slice_fill`] to `style` [#14082](https://github.com/rust-lang/rust-clippy/pull/14082)
31
+ * Added [`precedence_bits`] to `restriction` [#14115](https://github.com/rust-lang/rust-clippy/pull/14115)
32
+
33
+ ### Moves and Deprecations
34
+
35
+ * Moved [`redundant_locals`] to `suspicious` (from `correctness`, now warn-by-default)
36
+ [#13747](https://github.com/rust-lang/rust-clippy/pull/13747)
37
+ * Moved [`format_push_string`] to `pedantic` (from `restriction`)
38
+ [#13894](https://github.com/rust-lang/rust-clippy/pull/13894)
39
+ * Moved [`format_collect`] to `pedantic` (from `perf`, now allow-by-default)
40
+ [#13894](https://github.com/rust-lang/rust-clippy/pull/13894)
41
+ * Moved [`mutex_integer`] to `restriction` (from `nursery`) [#14110](https://github.com/rust-lang/rust-clippy/pull/14110)
42
+
43
+ ### Enhancements
44
+
45
+ * Add `lint-inconsistent-struct-field-initializers` configuration option to [`inconsistent_struct_constructor`]
46
+ [#13737](https://github.com/rust-lang/rust-clippy/pull/13737)
47
+ * [`len_zero`] now also triggers if deref target implements `is_empty()`
48
+ [#13871](https://github.com/rust-lang/rust-clippy/pull/13871)
49
+ * [`obfuscated_if_else`] now also triggers for the `.then(..).unwrap_or(..)` pattern
50
+ [#14021](https://github.com/rust-lang/rust-clippy/pull/14021)
51
+
52
+ ### False Positive Fixes
53
+
54
+ * [`trailing_empty_array`] no longer triggers in tests [#13844](https://github.com/rust-lang/rust-clippy/pull/13844)
55
+ * [`missing_const_for_fn`] no longer triggers in tests [#13945](https://github.com/rust-lang/rust-clippy/pull/13945)
56
+ * [`significant_drop_in_scrutinee`]: do not falsely warn for temporaries created by `.await` expansion
57
+ [#13985](https://github.com/rust-lang/rust-clippy/pull/13985)
58
+
59
+ ### ICE Fixes
60
+
61
+ * [`borrow_interior_mutable_const`] Fix an ICE that can occur when taking a reference to a tuple/`struct` field of an
62
+ interior mutable `const` [#13877](https://github.com/rust-lang/rust-clippy/pull/13877)
63
+
64
+ ### Others
65
+
66
+ * Clippy now uses Rust edition 2024 [#13751](https://github.com/rust-lang/rust-clippy/pull/13751)
10
67
11
68
## Rust 1.85
12
69
13
- Current stable, released 2025-02-20
70
+ Released 2025-02-20
14
71
15
72
[View all 72 merged pull requests](https://github.com/rust-lang/rust-clippy/pulls?q=merged%3A2024-11-15T19%3A31%3A08Z..2024-12-26T13%3A59%3A48Z+base%3Amaster)
16
73
@@ -5516,6 +5573,7 @@ Released 2018-09-13
5516
5573
[`cast_slice_different_sizes`]: https://rust-lang.github.io/rust-clippy/master/index.html#cast_slice_different_sizes
5517
5574
[`cast_slice_from_raw_parts`]: https://rust-lang.github.io/rust-clippy/master/index.html#cast_slice_from_raw_parts
5518
5575
[`cfg_not_test`]: https://rust-lang.github.io/rust-clippy/master/index.html#cfg_not_test
5576
+ [`char_indices_as_byte_indices`]: https://rust-lang.github.io/rust-clippy/master/index.html#char_indices_as_byte_indices
5519
5577
[`char_lit_as_u8`]: https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8
5520
5578
[`chars_last_cmp`]: https://rust-lang.github.io/rust-clippy/master/index.html#chars_last_cmp
5521
5579
[`chars_next_cmp`]: https://rust-lang.github.io/rust-clippy/master/index.html#chars_next_cmp
@@ -5681,6 +5739,7 @@ Released 2018-09-13
5681
5739
[`if_same_then_else`]: https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else
5682
5740
[`if_then_some_else_none`]: https://rust-lang.github.io/rust-clippy/master/index.html#if_then_some_else_none
5683
5741
[`ifs_same_cond`]: https://rust-lang.github.io/rust-clippy/master/index.html#ifs_same_cond
5742
+ [`ignore_without_reason`]: https://rust-lang.github.io/rust-clippy/master/index.html#ignore_without_reason
5684
5743
[`ignored_unit_patterns`]: https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns
5685
5744
[`impl_hash_borrow_with_str_and_bytes`]: https://rust-lang.github.io/rust-clippy/master/index.html#impl_hash_borrow_with_str_and_bytes
5686
5745
[`impl_trait_in_params`]: https://rust-lang.github.io/rust-clippy/master/index.html#impl_trait_in_params
@@ -5783,12 +5842,14 @@ Released 2018-09-13
5783
5842
[`macro_metavars_in_unsafe`]: https://rust-lang.github.io/rust-clippy/master/index.html#macro_metavars_in_unsafe
5784
5843
[`macro_use_imports`]: https://rust-lang.github.io/rust-clippy/master/index.html#macro_use_imports
5785
5844
[`main_recursion`]: https://rust-lang.github.io/rust-clippy/master/index.html#main_recursion
5845
+ [`manual_abs_diff`]: https://rust-lang.github.io/rust-clippy/master/index.html#manual_abs_diff
5786
5846
[`manual_assert`]: https://rust-lang.github.io/rust-clippy/master/index.html#manual_assert
5787
5847
[`manual_async_fn`]: https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn
5788
5848
[`manual_bits`]: https://rust-lang.github.io/rust-clippy/master/index.html#manual_bits
5789
5849
[`manual_c_str_literals`]: https://rust-lang.github.io/rust-clippy/master/index.html#manual_c_str_literals
5790
5850
[`manual_clamp`]: https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp
5791
5851
[`manual_contains`]: https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains
5852
+ [`manual_dangling_ptr`]: https://rust-lang.github.io/rust-clippy/master/index.html#manual_dangling_ptr
5792
5853
[`manual_div_ceil`]: https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil
5793
5854
[`manual_filter`]: https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter
5794
5855
[`manual_filter_map`]: https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter_map
@@ -6055,6 +6116,7 @@ Released 2018-09-13
6055
6116
[`redundant_pub_crate`]: https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pub_crate
6056
6117
[`redundant_slicing`]: https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing
6057
6118
[`redundant_static_lifetimes`]: https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes
6119
+ [`redundant_test_prefix`]: https://rust-lang.github.io/rust-clippy/master/index.html#redundant_test_prefix
6058
6120
[`redundant_type_annotations`]: https://rust-lang.github.io/rust-clippy/master/index.html#redundant_type_annotations
6059
6121
[`ref_as_ptr`]: https://rust-lang.github.io/rust-clippy/master/index.html#ref_as_ptr
6060
6122
[`ref_binding_to_reference`]: https://rust-lang.github.io/rust-clippy/master/index.html#ref_binding_to_reference
@@ -6156,6 +6218,7 @@ Released 2018-09-13
6156
6218
[`suspicious_unary_op_formatting`]: https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_unary_op_formatting
6157
6219
[`suspicious_xor_used_as_pow`]: https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_xor_used_as_pow
6158
6220
[`swap_ptr_to_ref`]: https://rust-lang.github.io/rust-clippy/master/index.html#swap_ptr_to_ref
6221
+ [`swap_with_temporary`]: https://rust-lang.github.io/rust-clippy/master/index.html#swap_with_temporary
6159
6222
[`tabs_in_doc_comments`]: https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments
6160
6223
[`temporary_assignment`]: https://rust-lang.github.io/rust-clippy/master/index.html#temporary_assignment
6161
6224
[`temporary_cstring_as_ptr`]: https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr
@@ -6346,6 +6409,7 @@ Released 2018-09-13
6346
6409
[`await-holding-invalid-types`]: https://doc.rust-lang.org/clippy/lint_configuration.html#await-holding-invalid-types
6347
6410
[`cargo-ignore-publish`]: https://doc.rust-lang.org/clippy/lint_configuration.html#cargo-ignore-publish
6348
6411
[`check-incompatible-msrv-in-tests`]: https://doc.rust-lang.org/clippy/lint_configuration.html#check-incompatible-msrv-in-tests
6412
+ [`check-inconsistent-struct-field-initializers`]: https://doc.rust-lang.org/clippy/lint_configuration.html#check-inconsistent-struct-field-initializers
6349
6413
[`check-private-items`]: https://doc.rust-lang.org/clippy/lint_configuration.html#check-private-items
6350
6414
[`cognitive-complexity-threshold`]: https://doc.rust-lang.org/clippy/lint_configuration.html#cognitive-complexity-threshold
6351
6415
[`disallowed-macros`]: https://doc.rust-lang.org/clippy/lint_configuration.html#disallowed-macros
@@ -6362,7 +6426,7 @@ Released 2018-09-13
6362
6426
[`future-size-threshold`]: https://doc.rust-lang.org/clippy/lint_configuration.html#future-size-threshold
6363
6427
[`ignore-interior-mutability`]: https://doc.rust-lang.org/clippy/lint_configuration.html#ignore-interior-mutability
6364
6428
[`large-error-threshold`]: https://doc.rust-lang.org/clippy/lint_configuration.html#large-error-threshold
6365
- [`lint-inconsistent-struct-field-initializers `]: https://doc.rust-lang.org/clippy/lint_configuration.html#lint-inconsistent-struct-field-initializers
6429
+ [`lint-commented-code `]: https://doc.rust-lang.org/clippy/lint_configuration.html#lint-commented-code
6366
6430
[`literal-representation-threshold`]: https://doc.rust-lang.org/clippy/lint_configuration.html#literal-representation-threshold
6367
6431
[`matches-for-let-else`]: https://doc.rust-lang.org/clippy/lint_configuration.html#matches-for-let-else
6368
6432
[`max-fn-params-bools`]: https://doc.rust-lang.org/clippy/lint_configuration.html#max-fn-params-bools
0 commit comments