@@ -6,11 +6,68 @@ document.
66
77## Unreleased / Beta / In Rust Nightly  
88
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 ) 
1067
1168## Rust 1.85  
1269
13- Current stable, released  2025-02-20
70+ Released  2025-02-20
1471
1572[ 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 ) 
1673
@@ -5516,6 +5573,7 @@ Released 2018-09-13
55165573[ `cast_slice_different_sizes` ] : https://rust-lang.github.io/rust-clippy/master/index.html#cast_slice_different_sizes 
55175574[ `cast_slice_from_raw_parts` ] : https://rust-lang.github.io/rust-clippy/master/index.html#cast_slice_from_raw_parts 
55185575[ `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 
55195577[ `char_lit_as_u8` ] : https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 
55205578[ `chars_last_cmp` ] : https://rust-lang.github.io/rust-clippy/master/index.html#chars_last_cmp 
55215579[ `chars_next_cmp` ] : https://rust-lang.github.io/rust-clippy/master/index.html#chars_next_cmp 
@@ -5681,6 +5739,7 @@ Released 2018-09-13
56815739[ `if_same_then_else` ] : https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else 
56825740[ `if_then_some_else_none` ] : https://rust-lang.github.io/rust-clippy/master/index.html#if_then_some_else_none 
56835741[ `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 
56845743[ `ignored_unit_patterns` ] : https://rust-lang.github.io/rust-clippy/master/index.html#ignored_unit_patterns 
56855744[ `impl_hash_borrow_with_str_and_bytes` ] : https://rust-lang.github.io/rust-clippy/master/index.html#impl_hash_borrow_with_str_and_bytes 
56865745[ `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
57835842[ `macro_metavars_in_unsafe` ] : https://rust-lang.github.io/rust-clippy/master/index.html#macro_metavars_in_unsafe 
57845843[ `macro_use_imports` ] : https://rust-lang.github.io/rust-clippy/master/index.html#macro_use_imports 
57855844[ `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 
57865846[ `manual_assert` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_assert 
57875847[ `manual_async_fn` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn 
57885848[ `manual_bits` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_bits 
57895849[ `manual_c_str_literals` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_c_str_literals 
57905850[ `manual_clamp` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp 
57915851[ `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 
57925853[ `manual_div_ceil` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil 
57935854[ `manual_filter` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter 
57945855[ `manual_filter_map` ] : https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter_map 
@@ -6055,6 +6116,7 @@ Released 2018-09-13
60556116[ `redundant_pub_crate` ] : https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pub_crate 
60566117[ `redundant_slicing` ] : https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing 
60576118[ `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 
60586120[ `redundant_type_annotations` ] : https://rust-lang.github.io/rust-clippy/master/index.html#redundant_type_annotations 
60596121[ `ref_as_ptr` ] : https://rust-lang.github.io/rust-clippy/master/index.html#ref_as_ptr 
60606122[ `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
61566218[ `suspicious_unary_op_formatting` ] : https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_unary_op_formatting 
61576219[ `suspicious_xor_used_as_pow` ] : https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_xor_used_as_pow 
61586220[ `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 
61596222[ `tabs_in_doc_comments` ] : https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments 
61606223[ `temporary_assignment` ] : https://rust-lang.github.io/rust-clippy/master/index.html#temporary_assignment 
61616224[ `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
63466409[ `await-holding-invalid-types` ] : https://doc.rust-lang.org/clippy/lint_configuration.html#await-holding-invalid-types 
63476410[ `cargo-ignore-publish` ] : https://doc.rust-lang.org/clippy/lint_configuration.html#cargo-ignore-publish 
63486411[ `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 
63496413[ `check-private-items` ] : https://doc.rust-lang.org/clippy/lint_configuration.html#check-private-items 
63506414[ `cognitive-complexity-threshold` ] : https://doc.rust-lang.org/clippy/lint_configuration.html#cognitive-complexity-threshold 
63516415[ `disallowed-macros` ] : https://doc.rust-lang.org/clippy/lint_configuration.html#disallowed-macros 
@@ -6362,7 +6426,7 @@ Released 2018-09-13
63626426[ `future-size-threshold` ] : https://doc.rust-lang.org/clippy/lint_configuration.html#future-size-threshold 
63636427[ `ignore-interior-mutability` ] : https://doc.rust-lang.org/clippy/lint_configuration.html#ignore-interior-mutability 
63646428[ `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  
63666430[ `literal-representation-threshold` ] : https://doc.rust-lang.org/clippy/lint_configuration.html#literal-representation-threshold 
63676431[ `matches-for-let-else` ] : https://doc.rust-lang.org/clippy/lint_configuration.html#matches-for-let-else 
63686432[ `max-fn-params-bools` ] : https://doc.rust-lang.org/clippy/lint_configuration.html#max-fn-params-bools 
0 commit comments