Skip to content

Commit 8af6638

Browse files
committed
Changelog for Clippy 1.90
1 parent 9f02cbc commit 8af6638

File tree

1 file changed

+146
-1
lines changed

1 file changed

+146
-1
lines changed

CHANGELOG.md

Lines changed: 146 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,152 @@ document.
66

77
## Unreleased / Beta / In Rust Nightly
88

9-
[4ef75291...master](https://github.com/rust-lang/rust-clippy/compare/4ef75291...master)
9+
[e9b7045...master](https://github.com/rust-lang/rust-clippy/compare/e9b7045...master)
10+
11+
## Rust 1.90
12+
13+
Current stable, released 2025-09-18
14+
15+
[View all 118 merged pull requests](https://github.com/rust-lang/rust-clippy/pulls?q=merged%3A2025-06-13T15%3A55%3A04Z..2025-07-25T13%3A24%3A00Z+base%3Amaster)
16+
17+
Note: This Clippy release does not introduce many new lints and is focused entirely on bug fixes — see
18+
[#15086](https://github.com/rust-lang/rust-clippy/issues/15086) for more details.
19+
20+
## New Lints
21+
22+
* Added [`manual_is_multiple_of`] to `complexity` [#14292](https://github.com/rust-lang/rust-clippy/pull/14292)
23+
* Added [`doc_broken_link`] to `pedantic` [#13696](https://github.com/rust-lang/rust-clippy/pull/13696)
24+
25+
### Moves and Deprecations
26+
27+
* Move [`uninlined_format_args`] to `pedantic` (from `style`, now allow-by-default) [#15287](https://github.com/rust-lang/rust-clippy/pull/15287)
28+
29+
### Enhancements
30+
31+
* [`or_fun_call`] now lints `Option::get_or_insert`, `Result::map_or`, `Option/Result::and` methods
32+
[#15071](https://github.com/rust-lang/rust-clippy/pull/15071)
33+
[#15073](https://github.com/rust-lang/rust-clippy/pull/15073)
34+
[#15074](https://github.com/rust-lang/rust-clippy/pull/15074)
35+
* [`incompatible_msrv`] now recognizes types exceeding MSRV
36+
[#15296](https://github.com/rust-lang/rust-clippy/pull/15296)
37+
* [`incompatible_msrv`] now checks the right MSRV when in a `const` context
38+
[#15297](https://github.com/rust-lang/rust-clippy/pull/15297)
39+
* [`zero_ptr`] now lints in `const` context as well
40+
[#15152](https://github.com/rust-lang/rust-clippy/pull/15152)
41+
* [`map_identity`],[`flat_map_identity`] now recognizes `|[x, y]| [x, y]` as an identity function
42+
[#15229](https://github.com/rust-lang/rust-clippy/pull/15229)
43+
* [`exit`] no longer fails on the main function when using `--test` or `--all-targets` flag
44+
[#15222](https://github.com/rust-lang/rust-clippy/pull/15222)
45+
46+
### False Positive Fixes
47+
48+
* [`if_then_some_else_none`] fixed FP when require type coercion
49+
[#15267](https://github.com/rust-lang/rust-clippy/pull/15267)
50+
* [`module_name_repetitions`] fixed FP on exported macros
51+
[#15319](https://github.com/rust-lang/rust-clippy/pull/15319)
52+
* [`unused_async`] fixed FP on function with `todo!`
53+
[#15308](https://github.com/rust-lang/rust-clippy/pull/15308)
54+
* [`useless_attribute`] fixed FP when using `#[expect(redundant_imports)]` and similar lint attributes
55+
on `use` statements
56+
[#15318](https://github.com/rust-lang/rust-clippy/pull/15318)
57+
* [`pattern_type_mismatch`] fixed FP in external macro
58+
[#15306](https://github.com/rust-lang/rust-clippy/pull/15306)
59+
* [`large_enum_variant`] fixed FP by not suggesting `Box` in `no_std` mode
60+
[#15241](https://github.com/rust-lang/rust-clippy/pull/15241)
61+
* [`missing_inline_in_public_items`] fixed FP on functions with `extern`
62+
[#15313](https://github.com/rust-lang/rust-clippy/pull/15313)
63+
* [`needless_range_loop`] fixed FP on array literals
64+
[#15314](https://github.com/rust-lang/rust-clippy/pull/15314)
65+
* [`ptr_as_ptr`] fixed wrong suggestions with turbo fish
66+
[#15289](https://github.com/rust-lang/rust-clippy/pull/15289)
67+
* [`range_plus_one`], [`range_minus_one`] fixed FP by restricting lint to cases where it is safe
68+
to switch the range type
69+
[#14432](https://github.com/rust-lang/rust-clippy/pull/14432)
70+
* [`ptr_arg`] fixed FP with underscore binding to `&T` or `&mut T` argument
71+
[#15105](https://github.com/rust-lang/rust-clippy/pull/15105)
72+
* [`unsafe_derive_deserialize`] fixed FP caused by the standard library's `pin!()` macro
73+
[#15137](https://github.com/rust-lang/rust-clippy/pull/15137)
74+
* [`unused_trait_names`] fixed FP in macros
75+
[#14947](https://github.com/rust-lang/rust-clippy/pull/14947)
76+
* [`expect_fun_call`] fixed invalid suggestions
77+
[#15122](https://github.com/rust-lang/rust-clippy/pull/15122)
78+
* [`manual_is_multiple_of`] fixed various false positives
79+
[#15205](https://github.com/rust-lang/rust-clippy/pull/15205)
80+
* [`manual_assert`] fixed wrong suggestions for macros
81+
[#15264](https://github.com/rust-lang/rust-clippy/pull/15264)
82+
* [`expect_used`] fixed false negative when meeting `Option::ok().expect`
83+
[#15253](https://github.com/rust-lang/rust-clippy/pull/15253)
84+
* [`manual_abs_diff`] fixed wrong suggestions behind refs
85+
[#15265](https://github.com/rust-lang/rust-clippy/pull/15265)
86+
* [`approx_constant`] fixed FP with overly precise literals and non trivially formatted numerals
87+
[#15236](https://github.com/rust-lang/rust-clippy/pull/15236)
88+
* [`arithmetic_side_effects`] fixed FP on `NonZeroU*.get() - 1`
89+
[#15238](https://github.com/rust-lang/rust-clippy/pull/15238)
90+
* [`legacy_numeric_constants`] fixed suggestion when call is inside parentheses
91+
[#15191](https://github.com/rust-lang/rust-clippy/pull/15191)
92+
* [`manual_is_variant_and`] fixed inverted suggestions that could lead to code with different semantics
93+
[#15206](https://github.com/rust-lang/rust-clippy/pull/15206)
94+
* [`unnecessary_map_or`] fixed FP by not proposing to replace `map_or` call when types wouldn't be correct
95+
[#15181](https://github.com/rust-lang/rust-clippy/pull/15181)
96+
* [`return_and_then`] fixed FP in case of a partially used expression
97+
[#15115](https://github.com/rust-lang/rust-clippy/pull/15115)
98+
* [`manual_let_else`] fixed FP with binding subpattern with unused name
99+
[#15118](https://github.com/rust-lang/rust-clippy/pull/15118)
100+
* [`suboptimal_flops`] fixed FP with ambiguous float types in mul_add suggestions
101+
[#15133](https://github.com/rust-lang/rust-clippy/pull/15133)
102+
* [`borrow_as_ptr`] fixed FP by not removing cast to trait object pointer
103+
[#15145](https://github.com/rust-lang/rust-clippy/pull/15145)
104+
* [`unnecessary_operation`] fixed FP by not removing casts if they are useful to type the expression
105+
[#15182](https://github.com/rust-lang/rust-clippy/pull/15182)
106+
* [`empty_loop`] fixed FP on intrinsic function declaration
107+
[#15201](https://github.com/rust-lang/rust-clippy/pull/15201)
108+
* [`doc_nested_refdefs`] fixed FP where task lists are reported as refdefs
109+
[#15146](https://github.com/rust-lang/rust-clippy/pull/15146)
110+
* [`std_instead_of_core`] fixed FP when not all items come from the new crate
111+
[#15165](https://github.com/rust-lang/rust-clippy/pull/15165)
112+
* [`swap_with_temporary`] fixed FP leading to different semantics being suggested
113+
[#15172](https://github.com/rust-lang/rust-clippy/pull/15172)
114+
* [`cast_possible_truncation`] fixed FP by not giving suggestions inside const context
115+
[#15164](https://github.com/rust-lang/rust-clippy/pull/15164)
116+
* [`missing_panics_doc`] fixed FP by allowing unwrap() and expect()s in const-only contexts
117+
[#15170](https://github.com/rust-lang/rust-clippy/pull/15170)
118+
* [`disallowed_script_idents`] fixed FP on identifiers with `_`
119+
[#15123](https://github.com/rust-lang/rust-clippy/pull/15123)
120+
* [`wildcard_enum_match_arm`] fixed wrong suggestions with raw identifiers
121+
[#15093](https://github.com/rust-lang/rust-clippy/pull/15093)
122+
* [`borrow_deref_ref`] fixed FP by not proposing replacing a reborrow when the reborrow is itself mutably borrowed
123+
[#14967](https://github.com/rust-lang/rust-clippy/pull/14967)
124+
* [`manual_ok_err`] fixed wrong suggestions with references
125+
[#15053](https://github.com/rust-lang/rust-clippy/pull/15053)
126+
* [`identity_op`] fixed FP when encountering `Default::default()`
127+
[#15028](https://github.com/rust-lang/rust-clippy/pull/15028)
128+
* [`exhaustive_structs`] fixed FP on structs with default valued field
129+
[#15022](https://github.com/rust-lang/rust-clippy/pull/15022)
130+
* [`collapsible_else_if`] fixed FP on conditionally compiled stmt
131+
[#14906](https://github.com/rust-lang/rust-clippy/pull/14906)
132+
* [`missing_const_for_fn`] fixed FP by checking MSRV before emitting lint on function containing
133+
non-`Sized` trait bounds
134+
[#15080](https://github.com/rust-lang/rust-clippy/pull/15080)
135+
* [`question_mark`] fixed FP when else branch of let-else contains `#[cfg]`
136+
[#15082](https://github.com/rust-lang/rust-clippy/pull/15082)
137+
138+
### ICE Fixes
139+
140+
* [`single_match`] fixed ICE with deref patterns and string literals
141+
[#15124](https://github.com/rust-lang/rust-clippy/pull/15124)
142+
* [`needless_doctest_main`] fixed panic when doctest is invalid
143+
[#15052](https://github.com/rust-lang/rust-clippy/pull/15052)
144+
* [`zero_sized_map_values`] do not attempt to compute size of a type with escaping lifetimes
145+
[#15434](https://github.com/rust-lang/rust-clippy/pull/15434)
146+
147+
### Documentation Improvements
148+
149+
* [`manual_is_variant_and`] improved documentation to include equality comparison patterns
150+
[#15239](https://github.com/rust-lang/rust-clippy/pull/15239)
151+
* [`uninlined_format_args`] improved documentation with example of how to fix a `{:?}` parameter
152+
[#15228](https://github.com/rust-lang/rust-clippy/pull/15228)
153+
* [`undocumented_unsafe_blocks`] improved documentation wording
154+
[#15213](https://github.com/rust-lang/rust-clippy/pull/15213)
10155

11156
## Rust 1.89
12157

0 commit comments

Comments
 (0)