Skip to content

Commit 6b4e7dd

Browse files
committed
Auto merge of #9761 - xFrednet:changelog-1-65, r=giraffate,xFrednet
Changelog for Rust 1.65 Roses are red, violets are blue, another 6 weeks, another changelog, yahoo! This did not rhyme, luckily, not a crime. I want to say something smart, but I am out of time. --- Note for the reviewer. This PR is written, as if Rust was already released on 2022-11-03. Please review the changes and approve if you agree, but only merge it after the release. :) --- changelog: none
2 parents 8d7f638 + 30e662d commit 6b4e7dd

File tree

7 files changed

+155
-11
lines changed

7 files changed

+155
-11
lines changed

CHANGELOG.md

Lines changed: 147 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,157 @@ All notable changes to this project will be documented in this file.
44
See [Changelog Update](book/src/development/infrastructure/changelog_update.md) if you want to update this
55
document.
66

7-
## Unreleased / In Rust Nightly
7+
## Unreleased / Beta / In Rust Nightly
88

9-
[3c7e7dbc...master](https://github.com/rust-lang/rust-clippy/compare/3c7e7dbc...master)
9+
[b52fb523...master](https://github.com/rust-lang/rust-clippy/compare/b52fb523...master)
10+
11+
## Rust 1.65
12+
13+
Current stable, released 2022-11-03
14+
15+
[3c7e7dbc...b52fb523](https://github.com/rust-lang/rust-clippy/compare/3c7e7dbc...b52fb523)
16+
17+
### Important Changes
18+
19+
* Clippy now has an `--explain <LINT>` command to show the lint description in the console
20+
[#8952](https://github.com/rust-lang/rust-clippy/pull/8952)
21+
22+
### New Lints
23+
24+
* [`unused_peekable`]
25+
[#9258](https://github.com/rust-lang/rust-clippy/pull/9258)
26+
* [`collapsible_str_replace`]
27+
[#9269](https://github.com/rust-lang/rust-clippy/pull/9269)
28+
* [`manual_string_new`]
29+
[#9295](https://github.com/rust-lang/rust-clippy/pull/9295)
30+
* [`iter_on_empty_collections`]
31+
[#9187](https://github.com/rust-lang/rust-clippy/pull/9187)
32+
* [`iter_on_single_items`]
33+
[#9187](https://github.com/rust-lang/rust-clippy/pull/9187)
34+
* [`bool_to_int_with_if`]
35+
[#9412](https://github.com/rust-lang/rust-clippy/pull/9412)
36+
* [`multi_assignments`]
37+
[#9379](https://github.com/rust-lang/rust-clippy/pull/9379)
38+
* [`result_large_err`]
39+
[#9373](https://github.com/rust-lang/rust-clippy/pull/9373)
40+
* [`partialeq_to_none`]
41+
[#9288](https://github.com/rust-lang/rust-clippy/pull/9288)
42+
* [`suspicious_to_owned`]
43+
[#8984](https://github.com/rust-lang/rust-clippy/pull/8984)
44+
* [`cast_slice_from_raw_parts`]
45+
[#9247](https://github.com/rust-lang/rust-clippy/pull/9247)
46+
* [`manual_instant_elapsed`]
47+
[#9264](https://github.com/rust-lang/rust-clippy/pull/9264)
48+
49+
### Moves and Deprecations
50+
51+
* Moved [`significant_drop_in_scrutinee`] to `nursery` (now allow-by-default)
52+
[#9302](https://github.com/rust-lang/rust-clippy/pull/9302)
53+
* Rename `logic_bug` to [`overly_complex_bool_expr`]
54+
[#9306](https://github.com/rust-lang/rust-clippy/pull/9306)
55+
* Rename `arithmetic` to [`arithmetic_side_effects`]
56+
[#9443](https://github.com/rust-lang/rust-clippy/pull/9443)
57+
* Moved [`only_used_in_recursion`] to complexity (now warn-by-default)
58+
[#8804](https://github.com/rust-lang/rust-clippy/pull/8804)
59+
* Moved [`assertions_on_result_states`] to restriction (now allow-by-default)
60+
[#9273](https://github.com/rust-lang/rust-clippy/pull/9273)
61+
* Renamed `blacklisted_name` to [`disallowed_names`]
62+
[#8974](https://github.com/rust-lang/rust-clippy/pull/8974)
63+
64+
### Enhancements
65+
66+
* [`option_if_let_else`]: Now also checks for match expressions
67+
[#8696](https://github.com/rust-lang/rust-clippy/pull/8696)
68+
* [`explicit_auto_deref`]: Now lints on implicit returns in closures
69+
[#9126](https://github.com/rust-lang/rust-clippy/pull/9126)
70+
* [`needless_borrow`]: Now considers trait implementations
71+
[#9136](https://github.com/rust-lang/rust-clippy/pull/9136)
72+
* [`suboptimal_flops`], [`imprecise_flops`]: Now lint on constant expressions
73+
[#9404](https://github.com/rust-lang/rust-clippy/pull/9404)
74+
* [`if_let_mutex`]: Now detects mutex behind references and warns about deadlocks
75+
[#9318](https://github.com/rust-lang/rust-clippy/pull/9318)
76+
77+
### False Positive Fixes
78+
79+
* [`unit_arg`] [`default_trait_access`] [`missing_docs_in_private_items`]: No longer
80+
trigger in code generated from proc-macros
81+
[#8694](https://github.com/rust-lang/rust-clippy/pull/8694)
82+
* [`unwrap_used`]: Now lints uses of `unwrap_err`
83+
[#9338](https://github.com/rust-lang/rust-clippy/pull/9338)
84+
* [`expect_used`]: Now lints uses of `expect_err`
85+
[#9338](https://github.com/rust-lang/rust-clippy/pull/9338)
86+
* [`transmute_undefined_repr`]: Now longer lints if the first field is compatible
87+
with the other type
88+
[#9287](https://github.com/rust-lang/rust-clippy/pull/9287)
89+
* [`unnecessary_to_owned`]: No longer lints, if type change cased errors in
90+
the caller function
91+
[#9424](https://github.com/rust-lang/rust-clippy/pull/9424)
92+
* [`match_like_matches_macro`]: No longer lints, if there are comments inside the
93+
match expression
94+
[#9276](https://github.com/rust-lang/rust-clippy/pull/9276)
95+
* [`partialeq_to_none`]: No longer trigger in code generated from macros
96+
[#9389](https://github.com/rust-lang/rust-clippy/pull/9389)
97+
* [`arithmetic_side_effects`]: No longer lints expressions that only use literals
98+
[#9365](https://github.com/rust-lang/rust-clippy/pull/9365)
99+
* [`explicit_auto_deref`]: Now ignores references on block expressions when the type
100+
is `Sized`, on `dyn Trait` returns and when the suggestion is non-trivial
101+
[#9126](https://github.com/rust-lang/rust-clippy/pull/9126)
102+
* [`trait_duplication_in_bounds`]: Now better tracks bounds to avoid false positives
103+
[#9167](https://github.com/rust-lang/rust-clippy/pull/9167)
104+
* [`format_in_format_args`]: Now suggests cases where the result is formatted again
105+
[#9349](https://github.com/rust-lang/rust-clippy/pull/9349)
106+
* [`only_used_in_recursion`]: No longer lints on function without recursions and
107+
takes external functions into account
108+
[#8804](https://github.com/rust-lang/rust-clippy/pull/8804)
109+
* [`missing_const_for_fn`]: No longer lints in proc-macros
110+
[#9308](https://github.com/rust-lang/rust-clippy/pull/9308)
111+
* [`non_ascii_literal`]: Allow non-ascii comments in tests and make sure `#[allow]`
112+
attributes work in tests
113+
[#9327](https://github.com/rust-lang/rust-clippy/pull/9327)
114+
* [`question_mark`]: No longer lint `if let`s with subpatterns
115+
[#9348](https://github.com/rust-lang/rust-clippy/pull/9348)
116+
* [`needless_collect`]: No longer lints in loops
117+
[#8992](https://github.com/rust-lang/rust-clippy/pull/8992)
118+
* [`mut_mutex_lock`]: No longer lints if the mutex is behind an immutable reference
119+
[#9418](https://github.com/rust-lang/rust-clippy/pull/9418)
120+
* [`needless_return`]: Now ignores returns with arguments
121+
[#9381](https://github.com/rust-lang/rust-clippy/pull/9381)
122+
* [`range_plus_one`], [`range_minus_one`]: Now ignores code with macros
123+
[#9446](https://github.com/rust-lang/rust-clippy/pull/9446)
124+
* [`assertions_on_result_states`]: No longer lints on the unit type
125+
[#9273](https://github.com/rust-lang/rust-clippy/pull/9273)
126+
127+
### Suggestion Fixes/Improvements
128+
129+
* [`unwrap_or_else_default`]: Now suggests `unwrap_or_default()` for empty strings
130+
[#9421](https://github.com/rust-lang/rust-clippy/pull/9421)
131+
* [`if_then_some_else_none`]: Now also suggests `bool::then_some`
132+
[#9289](https://github.com/rust-lang/rust-clippy/pull/9289)
133+
* [`redundant_closure_call`]: The suggestion now works for async closures
134+
[#9053](https://github.com/rust-lang/rust-clippy/pull/9053)
135+
* [`suboptimal_flops`]: Now suggests parenthesis when they are required
136+
[#9394](https://github.com/rust-lang/rust-clippy/pull/9394)
137+
* [`case_sensitive_file_extension_comparisons`]: Now suggests `map_or(..)` instead of `map(..).unwrap_or`
138+
[#9341](https://github.com/rust-lang/rust-clippy/pull/9341)
139+
* Deprecated configuration values can now be updated automatically
140+
[#9252](https://github.com/rust-lang/rust-clippy/pull/9252)
141+
* [`or_fun_call`]: Now suggest `Entry::or_default` for `Entry::or_insert(Default::default())`
142+
[#9342](https://github.com/rust-lang/rust-clippy/pull/9342)
143+
* [`unwrap_used`]: Only suggests `expect` if [`expect_used`] is allowed
144+
[#9223](https://github.com/rust-lang/rust-clippy/pull/9223)
145+
146+
### ICE Fixes
147+
148+
* Fix ICE in [`useless_format`] for literals
149+
[#9406](https://github.com/rust-lang/rust-clippy/pull/9406)
150+
* Fix infinite loop in [`vec_init_then_push`]
151+
[#9441](https://github.com/rust-lang/rust-clippy/pull/9441)
152+
* Fix ICE when reading literals with weird proc-macro spans
153+
[#9303](https://github.com/rust-lang/rust-clippy/pull/9303)
10154

11155
## Rust 1.64
12156

13-
Current stable, released 2022-09-22
157+
Released 2022-09-22
14158

15159
[d7b5cbf0...3c7e7dbc](https://github.com/rust-lang/rust-clippy/compare/d7b5cbf0...3c7e7dbc)
16160

clippy_lints/src/casts/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ declare_clippy_lint! {
593593
/// let _: *mut [u8] = std::ptr::slice_from_raw_parts_mut(ptr, len);
594594
/// ```
595595
/// [safety requirements]: https://doc.rust-lang.org/std/slice/fn.from_raw_parts.html#safety
596-
#[clippy::version = "1.64.0"]
596+
#[clippy::version = "1.65.0"]
597597
pub CAST_SLICE_FROM_RAW_PARTS,
598598
suspicious,
599599
"casting a slice created from a pointer and length to a slice pointer"

clippy_lints/src/functions/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ declare_clippy_lint! {
254254
/// Ok(())
255255
/// }
256256
/// ```
257-
#[clippy::version = "1.64.0"]
257+
#[clippy::version = "1.65.0"]
258258
pub RESULT_LARGE_ERR,
259259
perf,
260260
"function returning `Result` with large `Err` type"

clippy_lints/src/manual_instant_elapsed.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ declare_clippy_lint! {
2727
/// let prev_instant = Instant::now();
2828
/// let duration = prev_instant.elapsed();
2929
/// ```
30-
#[clippy::version = "1.64.0"]
30+
#[clippy::version = "1.65.0"]
3131
pub MANUAL_INSTANT_ELAPSED,
3232
pedantic,
3333
"subtraction between `Instant::now()` and previous `Instant`"

clippy_lints/src/methods/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ declare_clippy_lint! {
160160
/// ```rust
161161
/// let hello = "hesuo worpd".replace(&['s', 'u', 'p'], "l");
162162
/// ```
163-
#[clippy::version = "1.64.0"]
163+
#[clippy::version = "1.65.0"]
164164
pub COLLAPSIBLE_STR_REPLACE,
165165
perf,
166166
"collapse consecutive calls to str::replace (2 or more) into a single call"
@@ -2428,7 +2428,7 @@ declare_clippy_lint! {
24282428
/// ### Known problems
24292429
///
24302430
/// The type of the resulting iterator might become incompatible with its usage
2431-
#[clippy::version = "1.64.0"]
2431+
#[clippy::version = "1.65.0"]
24322432
pub ITER_ON_SINGLE_ITEMS,
24332433
nursery,
24342434
"Iterator for array of length 1"
@@ -2460,7 +2460,7 @@ declare_clippy_lint! {
24602460
/// ### Known problems
24612461
///
24622462
/// The type of the resulting iterator might become incompatible with its usage
2463-
#[clippy::version = "1.64.0"]
2463+
#[clippy::version = "1.65.0"]
24642464
pub ITER_ON_EMPTY_COLLECTIONS,
24652465
nursery,
24662466
"Iterator for empty array"

clippy_lints/src/partialeq_to_none.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ declare_clippy_lint! {
3333
/// if f.is_some() { "yay" } else { "nay" }
3434
/// }
3535
/// ```
36-
#[clippy::version = "1.64.0"]
36+
#[clippy::version = "1.65.0"]
3737
pub PARTIALEQ_TO_NONE,
3838
style,
3939
"Binary comparison to `Option<T>::None` relies on `T: PartialEq`, which is unneeded"

clippy_lints/src/unused_peekable.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ declare_clippy_lint! {
3737
/// // ...
3838
/// }
3939
/// ```
40-
#[clippy::version = "1.64.0"]
40+
#[clippy::version = "1.65.0"]
4141
pub UNUSED_PEEKABLE,
4242
nursery,
4343
"creating a peekable iterator without using any of its methods"

0 commit comments

Comments
 (0)