@@ -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