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