Skip to content

Changelog for Clippy 1.88 🏄 #15095

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 78 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,84 @@ document.

## Unreleased / Beta / In Rust Nightly

[1e5237f4...master](https://github.com/rust-lang/rust-clippy/compare/1e5237f4...master)
[03a5b6b9...master](https://github.com/rust-lang/rust-clippy/compare/03a5b6b9...master)

## Rust 1.88

Current stable, released 2025-06-26

[View all 126 merged pull requests](https://github.com/rust-lang/rust-clippy/pulls?q=merged%3A2025-03-21T10%3A30%3A57Z..2025-05-01T08%3A03%3A26Z+base%3Amaster)

### New Lints

* Added [`swap_with_temporary`] to `complexity` [#14046](https://github.com/rust-lang/rust-clippy/pull/14046)
* Added [`redundant_test_prefix`] to `restriction` [#13710](https://github.com/rust-lang/rust-clippy/pull/13710)
* Added [`manual_dangling_ptr`] to `style` [#14107](https://github.com/rust-lang/rust-clippy/pull/14107)
* Added [`char_indices_as_byte_indices`] to `correctness` [#13435](https://github.com/rust-lang/rust-clippy/pull/13435)
* Added [`manual_abs_diff`] to `complexity` [#14482](https://github.com/rust-lang/rust-clippy/pull/14482)
* Added [`ignore_without_reason`] to `pedantic` [#13931](https://github.com/rust-lang/rust-clippy/pull/13931)

### Moves and Deprecations

* Moved [`uninlined_format_args`] to `style` (from `pedantic`)
[#14219](https://github.com/rust-lang/rust-clippy/pull/14219)
* [`match_on_vec_items`] deprecated in favor of `indexing_slicing`
[#14217](https://github.com/rust-lang/rust-clippy/pull/14217)

### Enhancements

* Configuration renamed from `lint-inconsistent-struct-field-initializers`
to `check-inconsistent-struct-field-initializers`
[#14280](https://github.com/rust-lang/rust-clippy/pull/14280)
* Paths in `disallowed_*` configurations are now validated
[#14397](https://github.com/rust-lang/rust-clippy/pull/14397)
* [`borrow_as_ptr`] now lints implicit casts as well
[#14408](https://github.com/rust-lang/rust-clippy/pull/14408)
* [`iter_kv_map`] now recognizes references on maps
[#14596](https://github.com/rust-lang/rust-clippy/pull/14596)
* [`empty_enum_variants_with_brackets`] no longer lints reachable enums or enums used
as functions within same crate [#12971](https://github.com/rust-lang/rust-clippy/pull/12971)
* [`needless_lifetimes`] now checks for lifetime uses in closures
[#14608](https://github.com/rust-lang/rust-clippy/pull/14608)
* [`wildcard_imports`] now lints on `pub use` when `warn_on_all_wildcard_imports` is enabled
[#14182](https://github.com/rust-lang/rust-clippy/pull/14182)
* [`collapsible_if`] now recognizes the `let_chains` feature
[#14481](https://github.com/rust-lang/rust-clippy/pull/14481)
* [`match_single_binding`] now allows macros in scrutinee and patterns
[#14635](https://github.com/rust-lang/rust-clippy/pull/14635)

### False Positive Fixes

* [`zombie_processes`] fixed FP inside closures
[#14696](https://github.com/rust-lang/rust-clippy/pull/14696)
* [`double_ended_iterator_last`] and [`needless_collect`] fixed FP when iter has side effects
[#14490](https://github.com/rust-lang/rust-clippy/pull/14490)
* [`mut_from_ref`] fixed FP where lifetimes nested in types were not considered
[#14471](https://github.com/rust-lang/rust-clippy/pull/14471)
* [`redundant_clone`] fixed FP in overlapping lifetime
[#14237](https://github.com/rust-lang/rust-clippy/pull/14237)
* [`map_entry`] fixed FP where lint would trigger without insert calls present
[#14568](https://github.com/rust-lang/rust-clippy/pull/14568)
* [`iter_cloned_collect`] fixed FP with custom `From`/`IntoIterator` impl
[#14473](https://github.com/rust-lang/rust-clippy/pull/14473)
* [`shadow_unrelated`] fixed FP in destructuring assignments
[#14381](https://github.com/rust-lang/rust-clippy/pull/14381)
* [`redundant_clone`] fixed FP on enum cast
[#14395](https://github.com/rust-lang/rust-clippy/pull/14395)

### Documentation Improvements

* [`missing_asserts_for_indexing`] improved documentation and examples
[#14108](https://github.com/rust-lang/rust-clippy/pull/14108)

### Others

* Added `[no-mentions]` configuration in `triagebot.toml`
[#14576](https://github.com/rust-lang/rust-clippy/pull/14576)
* Added `[canonicalize-issue-links]` configuration in `triagebot.toml`
[#14563](https://github.com/rust-lang/rust-clippy/pull/14563)
* UI tests now run in edition 2024 mode
[#14602](https://github.com/rust-lang/rust-clippy/pull/14602)
Comment on lines +81 to +86
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure those need to be included, as they aren't tied to a release, they only impact Clippy development itself and do so since they have been merged.


## Rust 1.87

Expand Down