@@ -6,7 +6,105 @@ document.
66
77## Unreleased / Beta / In Rust Nightly
88
9- [ 03a5b6b9...master] ( https://github.com/rust-lang/rust-clippy/compare/03a5b6b9...master )
9+ [ 4ef75291...master] ( https://github.com/rust-lang/rust-clippy/compare/4ef75291...master )
10+
11+ ## Rust 1.89
12+
13+ Current stable, released 2025-08-07
14+
15+ [ View all 137 merged pull requests] ( https://github.com/rust-lang/rust-clippy/pulls?q=merged%3A2025-05-01T16%3A52%3A57Z..2025-06-13T08%3A33%3A27Z+base%3Amaster )
16+
17+ ### New Lints
18+
19+ * Added [ ` coerce_container_to_any ` ] to ` nursery ` [ #14812 ] ( https://github.com/rust-lang/rust-clippy/pull/14812 )
20+ * Added [ ` ip_constant ` ] to ` pedantic ` [ #14878 ] ( https://github.com/rust-lang/rust-clippy/pull/14878 )
21+ * Added [ ` infallible_try_from ` ] to ` suspicious ` [ #14813 ] ( https://github.com/rust-lang/rust-clippy/pull/14813 )
22+ * Added [ ` doc_suspicious_footnotes ` ] to ` suspicious ` [ #14708 ] ( https://github.com/rust-lang/rust-clippy/pull/14708 )
23+ * Added [ ` pointer_format ` ] to ` restriction ` [ #14792 ] ( https://github.com/rust-lang/rust-clippy/pull/14792 )
24+ * Added [ ` useless_concat ` ] to ` complexity ` [ #13829 ] ( https://github.com/rust-lang/rust-clippy/pull/13829 )
25+ * Added [ ` cloned_ref_to_slice_refs ` ] to ` perf ` [ #14284 ] ( https://github.com/rust-lang/rust-clippy/pull/14284 )
26+ * Added [ ` confusing_method_to_numeric_cast ` ] to ` suspicious ` [ #13979 ] ( https://github.com/rust-lang/rust-clippy/pull/13979 )
27+
28+ ### Moves and Deprecations
29+
30+ * Removed superseded lints: ` transmute_float_to_int ` , ` transmute_int_to_char ` ,
31+ ` transmute_int_to_float ` , ` transmute_num_to_bytes ` (now in rustc)
32+ [ #14703 ] ( https://github.com/rust-lang/rust-clippy/pull/14703 )
33+
34+ ### Enhancements
35+
36+ * [ ` module_name_repetitions ` ] added ` allow_exact_repetitions ` configuration option
37+ [ #14261 ] ( https://github.com/rust-lang/rust-clippy/pull/14261 )
38+ * [ ` missing_docs_in_private_items ` ] added ` allow_unused ` config for underscored fields
39+ [ #14453 ] ( https://github.com/rust-lang/rust-clippy/pull/14453 )
40+ * [ ` unnecessary_unwrap ` ] fixed being emitted twice in closure
41+ [ #14763 ] ( https://github.com/rust-lang/rust-clippy/pull/14763 )
42+ * [ ` needless_return ` ] lint span no longer wraps to previous line
43+ [ #14790 ] ( https://github.com/rust-lang/rust-clippy/pull/14790 )
44+ * [ ` trivial-copy-size-limit ` ] now defaults to ` target_pointer_width `
45+ [ #13319 ] ( https://github.com/rust-lang/rust-clippy/pull/13319 )
46+ * [ ` integer_division ` ] fixed false negative for NonZero denominators
47+ [ #14664 ] ( https://github.com/rust-lang/rust-clippy/pull/14664 )
48+ * [ ` arbitrary_source_item_ordering ` ] no longer lints inside items with ` #[repr] ` attribute
49+ [ #14610 ] ( https://github.com/rust-lang/rust-clippy/pull/14610 )
50+ * [ ` excessive_precision ` ] no longer triggers on exponent with leading zeros
51+ [ #14824 ] ( https://github.com/rust-lang/rust-clippy/pull/14824 )
52+ * [ ` to_digit_is_some ` ] no longer lints in const contexts when MSRV is below 1.87
53+ [ #14771 ] ( https://github.com/rust-lang/rust-clippy/pull/14771 )
54+
55+ ### False Positive Fixes
56+
57+ * [ ` std_instead_of_core ` ] fixed FP when part of the ` use ` cannot be replaced
58+ [ #15016 ] ( https://github.com/rust-lang/rust-clippy/pull/15016 )
59+ * [ ` unused_unit ` ] fixed FP for ` Fn ` bounds
60+ [ #14962 ] ( https://github.com/rust-lang/rust-clippy/pull/14962 )
61+ * [ ` unnecessary_debug_formatting ` ] fixed FP inside ` Debug ` impl
62+ [ #14955 ] ( https://github.com/rust-lang/rust-clippy/pull/14955 )
63+ * [ ` assign_op_pattern ` ] fixed FP on unstable const trait
64+ [ #14886 ] ( https://github.com/rust-lang/rust-clippy/pull/14886 )
65+ * [ ` useless_conversion ` ] fixed FP when using ` .into_iter().any() `
66+ [ #14800 ] ( https://github.com/rust-lang/rust-clippy/pull/14800 )
67+ * [ ` collapsible_if ` ] fixed FP on block stmt before expr
68+ [ #14730 ] ( https://github.com/rust-lang/rust-clippy/pull/14730 )
69+ * [ ` manual_unwrap_or_default ` ] fixed FP on ref binding
70+ [ #14731 ] ( https://github.com/rust-lang/rust-clippy/pull/14731 )
71+ * [ ` unused_async ` ] fixed FP on default impl
72+ [ #14720 ] ( https://github.com/rust-lang/rust-clippy/pull/14720 )
73+ * [ ` manual_slice_fill ` ] fixed FP on ` IndexMut ` overload
74+ [ #14719 ] ( https://github.com/rust-lang/rust-clippy/pull/14719 )
75+ * [ ` unnecessary_to_owned ` ] fixed FP when map key is a reference
76+ [ #14834 ] ( https://github.com/rust-lang/rust-clippy/pull/14834 )
77+
78+ ### ICE Fixes
79+
80+ * [ ` mutable_key_type ` ] fixed ICE when infinitely associated generic types are used
81+ [ #14965 ] ( https://github.com/rust-lang/rust-clippy/pull/14965 )
82+ * [ ` zero_sized_map_values ` ] fixed ICE while computing type layout
83+ [ #14837 ] ( https://github.com/rust-lang/rust-clippy/pull/14837 )
84+ * [ ` useless_asref ` ] fixed ICE on trait method
85+ [ #14830 ] ( https://github.com/rust-lang/rust-clippy/pull/14830 )
86+ * [ ` manual_slice_size_calculation ` ] fixed ICE in suggestion and triggers in ` const ` context
87+ [ #14804 ] ( https://github.com/rust-lang/rust-clippy/pull/14804 )
88+ * [ ` missing_const_for_fn ` ] : fix ICE with some compilation options
89+ [ #14776 ] ( https://github.com/rust-lang/rust-clippy/pull/14776 )
90+
91+ ### Documentation Improvements
92+
93+ * [ ` manual_contains ` ] improved documentation wording
94+ [ #14917 ] ( https://github.com/rust-lang/rust-clippy/pull/14917 )
95+
96+ ### Performance improvements
97+
98+ * [ ` strlen_on_c_strings ` ] optimized by 99.75% (31M → 76k instructions)
99+ [ #15043 ] ( https://github.com/rust-lang/rust-clippy/pull/15043 )
100+ * Reduced documentation lints execution time by 85% (7.5% → 1% of total runtime)
101+ [ #14870 ] ( https://github.com/rust-lang/rust-clippy/pull/14870 )
102+ * [ ` unit_return_expecting_ord ` ] optimized to reduce binder instantiation from 95k to 10k calls
103+ [ #14905 ] ( https://github.com/rust-lang/rust-clippy/pull/14905 )
104+ * [ ` doc_markdown ` ] optimized by 50%
105+ [ #14693 ] ( https://github.com/rust-lang/rust-clippy/pull/14693 )
106+ * Refactor and speed up ` cargo dev fmt `
107+ [ #14638 ] ( https://github.com/rust-lang/rust-clippy/pull/14638 )
10108
11109## Rust 1.88
12110
@@ -6260,6 +6358,7 @@ Released 2018-09-13
62606358[ `pointers_in_nomem_asm_block` ] : https://rust-lang.github.io/rust-clippy/master/index.html#pointers_in_nomem_asm_block
62616359[ `positional_named_format_parameters` ] : https://rust-lang.github.io/rust-clippy/master/index.html#positional_named_format_parameters
62626360[ `possible_missing_comma` ] : https://rust-lang.github.io/rust-clippy/master/index.html#possible_missing_comma
6361+ [ `possible_missing_else` ] : https://rust-lang.github.io/rust-clippy/master/index.html#possible_missing_else
62636362[ `precedence` ] : https://rust-lang.github.io/rust-clippy/master/index.html#precedence
62646363[ `precedence_bits` ] : https://rust-lang.github.io/rust-clippy/master/index.html#precedence_bits
62656364[ `print_in_format_impl` ] : https://rust-lang.github.io/rust-clippy/master/index.html#print_in_format_impl
0 commit comments