Skip to content

Commit 8122bfa

Browse files
committed
Changelog for Clippy 1.90
1 parent 9f02cbc commit 8122bfa

File tree

1 file changed

+140
-1
lines changed

1 file changed

+140
-1
lines changed

CHANGELOG.md

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

11150
## Rust 1.89
12151

0 commit comments

Comments
 (0)