Skip to content

Commit a2e29c5

Browse files
committed
Changelog for Clippy 1.88
1 parent 2c1c746 commit a2e29c5

File tree

5 files changed

+115
-5
lines changed

5 files changed

+115
-5
lines changed

CHANGELOG.md

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

77
## Unreleased / Beta / In Rust Nightly
88

9-
[1e5237f4...master](https://github.com/rust-lang/rust-clippy/compare/1e5237f4...master)
9+
[03a5b6b9...master](https://github.com/rust-lang/rust-clippy/compare/03a5b6b9...master)
10+
11+
## Rust 1.88
12+
13+
Current stable, released 2025-06-26
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 `suspicious` [#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 replace
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_as_ref`] fixed ICE on trait method
85+
[#14830](https://github.com/rust-lang/rust-clippy/pull/14830)
86+
* [`manual_slice_size_computation`] 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+
### Others
97+
98+
* Performance improvements:
99+
* [`strlen_on_c_strings`] optimized by 99.75% (31M → 76k instructions)
100+
[#15043](https://github.com/rust-lang/rust-clippy/pull/15043)
101+
* Reduced documentation lints execution time by 85% (7.5% → 1% of total runtime)
102+
[#14870](https://github.com/rust-lang/rust-clippy/pull/14870)
103+
* [`unit_return_expecting_ord`] optimized to reduce binder instantiation from 95k to 10k calls
104+
[#14905](https://github.com/rust-lang/rust-clippy/pull/14905)
105+
* [`doc_markdown`] optimized by 50%
106+
[#14693](https://github.com/rust-lang/rust-clippy/pull/14693)
107+
* Refactor and speed up `cargo dev fmt`
108+
[#14638](https://github.com/rust-lang/rust-clippy/pull/14638)
109+
* Tooling changes:
110+
* Fixed `new_lint` clippy command to handle existing lint names better
111+
[#14642](https://github.com/rust-lang/rust-clippy/pull/14642)
112+
* `clippy_dev` refactor
113+
[#14616](https://github.com/rust-lang/rust-clippy/pull/14616)
114+
* Updated `askama` to version `0.14.0`
115+
[#14888](https://github.com/rust-lang/rust-clippy/pull/14888)
116+
* Support different `CARGO_TARGET_DIR` env variables in lintcheck
117+
[#14859](https://github.com/rust-lang/rust-clippy/pull/14859)
118+
* Don't warn about unloaded crates in `clippy.toml` disallowed paths
119+
[#14733](https://github.com/rust-lang/rust-clippy/pull/14733)
10120

11121
## Rust 1.87
12122

clippy_lints/src/casts/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -807,7 +807,7 @@ declare_clippy_lint! {
807807
/// ```no_run
808808
/// let _ = u16::MAX as usize;
809809
/// ```
810-
#[clippy::version = "1.86.0"]
810+
#[clippy::version = "1.88.0"]
811811
pub CONFUSING_METHOD_TO_NUMERIC_CAST,
812812
suspicious,
813813
"casting a primitive method pointer to any integer type"

clippy_lints/src/cloned_ref_to_slice_refs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ declare_clippy_lint! {
3737
/// let data_ref = &data;
3838
/// take_slice(slice::from_ref(data_ref));
3939
/// ```
40-
#[clippy::version = "1.87.0"]
40+
#[clippy::version = "1.88.0"]
4141
pub CLONED_REF_TO_SLICE_REFS,
4242
perf,
4343
"cloning a reference for slice references"

clippy_lints/src/methods/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4559,7 +4559,7 @@ declare_clippy_lint! {
45594559
/// // IPv6 loopback
45604560
/// let addr_v6 = Ipv6Addr::LOCALHOST;
45614561
/// ```
4562-
#[clippy::version = "1.89.0"]
4562+
#[clippy::version = "1.88.0"]
45634563
pub IP_CONSTANT,
45644564
pedantic,
45654565
"hardcoded localhost IP address"

clippy_lints/src/useless_concat.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ declare_clippy_lint! {
2525
/// ```no_run
2626
/// let x = "a";
2727
/// ```
28-
#[clippy::version = "1.89.0"]
28+
#[clippy::version = "1.88.0"]
2929
pub USELESS_CONCAT,
3030
complexity,
3131
"checks that the `concat` macro has at least two arguments"

0 commit comments

Comments
 (0)