Skip to content

Commit a16a9ed

Browse files
committed
Auto merge of #12509 - xFrednet:changelog-1-77, r=dswij
Changelog for Clippy 1.77 🏫 Roses are violets, Red is blue, Let's create a world, Perfect for me and you --- ### The cat of this release is: *Luigi* <img width=500 src="https://github.com/rust-lang/rust-clippy/assets/17087237/ea13d05c-e5ba-4189-9e16-49bf1b43c468" alt="The cats of this Clippy release" /> The cat for the next release can be voted on: [here](https://forms.gle/57gbrNvXtCUmrHYh6) The cat for the next next release can be nominated in the comments and will be voted in the next changelog PR (Submission deadline is 2024-03-30 23:59CET) --- changelog: none
2 parents 34766a6 + 87d45e5 commit a16a9ed

File tree

5 files changed

+65
-11
lines changed

5 files changed

+65
-11
lines changed

CHANGELOG.md

+56-2
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,65 @@ document.
66

77
## Unreleased / Beta / In Rust Nightly
88

9-
[a859e5cc...master](https://github.com/rust-lang/rust-clippy/compare/a859e5cc...master)
9+
[66c29b97...master](https://github.com/rust-lang/rust-clippy/compare/66c29b97...master)
10+
11+
## Rust 1.77
12+
13+
Current stable, released 2024-03-18
14+
15+
[View all 93 merged pull requests](https://github.com/rust-lang/rust-clippy/pulls?q=merged%3A2023-12-16T18%3A20%3A00Z..2024-01-25T18%3A15%3A56Z+base%3Amaster)
16+
17+
### New Lints
18+
19+
* [`suspicious_open_options`]
20+
[#11608](https://github.com/rust-lang/rust-clippy/pull/11608)
21+
* [`option_as_ref_cloned`]
22+
[#12051](https://github.com/rust-lang/rust-clippy/pull/12051)
23+
* [`thread_local_initializer_can_be_made_const`]
24+
[#12026](https://github.com/rust-lang/rust-clippy/pull/12026)
25+
* [`str_split_at_newline`]
26+
[#11987](https://github.com/rust-lang/rust-clippy/pull/11987)
27+
* [`empty_enum_variants_with_brackets`]
28+
[#12047](https://github.com/rust-lang/rust-clippy/pull/12047)
29+
* [`manual_is_variant_and`]
30+
[#11865](https://github.com/rust-lang/rust-clippy/pull/11865)
31+
* [`pub_underscore_fields`]
32+
[#10283](https://github.com/rust-lang/rust-clippy/pull/10283)
33+
* [`eager_transmute`]
34+
[#11981](https://github.com/rust-lang/rust-clippy/pull/11981)
35+
* [`iter_filter_is_some`]
36+
[#12004](https://github.com/rust-lang/rust/pull/12004)
37+
* [`iter_filter_is_ok`]
38+
[#12004](https://github.com/rust-lang/rust/pull/12004)
39+
* [`result_filter_map`]
40+
[#11869](https://github.com/rust-lang/rust-clippy/pull/11869)
41+
* [`unconditional_recursion`]
42+
[#11938](https://github.com/rust-lang/rust-clippy/pull/11938)
43+
44+
### Enhancements
45+
46+
* [`multiple_crate_versions`]: Added the [`allowed-duplicate-crates`] configuration to allow specific crates
47+
[#12179](https://github.com/rust-lang/rust-clippy/pull/12179)
48+
* [`single_call_fn`]: No longer ignores `#[allow]` attributes
49+
[#12183](https://github.com/rust-lang/rust-clippy/pull/12183)
50+
* [`read_zero_byte_vec`]: Updated the heuristics used for linting
51+
[#11766](https://github.com/rust-lang/rust-clippy/pull/11766)
52+
53+
### ICE Fixes
54+
55+
* [`unit_arg`]: No longer crashes when checking for const in nested bodies
56+
[#11977](https://github.com/rust-lang/rust-clippy/pull/11977)
57+
* [`indexing_slicing`]: No longer crashes when the array index exceeds `usize`
58+
[#12266](https://github.com/rust-lang/rust-clippy/pull/12266)
59+
60+
### Others
61+
62+
* Warnings about invalid fields inside `clippy.toml` files now include suggestions for existing fields
63+
[#12180](https://github.com/rust-lang/rust-clippy/pull/12180)
1064

1165
## Rust 1.76
1266

13-
Current stable, released 2024-02-08
67+
Released 2024-02-08
1468

1569
[View all 85 merged pull requests](https://github.com/rust-lang/rust-clippy/pulls?q=merged%3A2023-11-02T20%3A23%3A40Z..2023-12-16T13%3A11%3A08Z+base%3Amaster)
1670

clippy_lints/src/methods/mod.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -2863,7 +2863,7 @@ declare_clippy_lint! {
28632863
///
28642864
/// OpenOptions::new().create(true).truncate(true);
28652865
/// ```
2866-
#[clippy::version = "1.75.0"]
2866+
#[clippy::version = "1.77.0"]
28672867
pub SUSPICIOUS_OPEN_OPTIONS,
28682868
suspicious,
28692869
"suspicious combination of options for opening a file"
@@ -3817,7 +3817,7 @@ declare_clippy_lint! {
38173817
/// ```no_run
38183818
/// let _ = std::iter::empty::<Result<i32, ()>>().flatten();
38193819
/// ```
3820-
#[clippy::version = "1.76.0"]
3820+
#[clippy::version = "1.77.0"]
38213821
pub RESULT_FILTER_MAP,
38223822
complexity,
38233823
"filtering `Result` for `Ok` then force-unwrapping, which can be one type-safe operation"
@@ -3843,7 +3843,7 @@ declare_clippy_lint! {
38433843
/// // example code which does not raise clippy warning
38443844
/// vec![Some(1)].into_iter().flatten();
38453845
/// ```
3846-
#[clippy::version = "1.76.0"]
3846+
#[clippy::version = "1.77.0"]
38473847
pub ITER_FILTER_IS_SOME,
38483848
pedantic,
38493849
"filtering an iterator over `Option`s for `Some` can be achieved with `flatten`"
@@ -3869,7 +3869,7 @@ declare_clippy_lint! {
38693869
/// // example code which does not raise clippy warning
38703870
/// vec![Ok::<i32, String>(1)].into_iter().flatten();
38713871
/// ```
3872-
#[clippy::version = "1.76.0"]
3872+
#[clippy::version = "1.77.0"]
38733873
pub ITER_FILTER_IS_OK,
38743874
pedantic,
38753875
"filtering an iterator over `Result`s for `Ok` can be achieved with `flatten`"
@@ -3896,7 +3896,7 @@ declare_clippy_lint! {
38963896
/// option.is_some_and(|a| a > 10);
38973897
/// result.is_ok_and(|a| a > 10);
38983898
/// ```
3899-
#[clippy::version = "1.76.0"]
3899+
#[clippy::version = "1.77.0"]
39003900
pub MANUAL_IS_VARIANT_AND,
39013901
pedantic,
39023902
"using `.map(f).unwrap_or_default()`, which is more succinctly expressed as `is_some_and(f)` or `is_ok_and(f)`"
@@ -3926,7 +3926,7 @@ declare_clippy_lint! {
39263926
/// `"\r\n"`), for example during the parsing of a specific file format in which precisely one newline type is
39273927
/// valid.
39283928
/// ```
3929-
#[clippy::version = "1.76.0"]
3929+
#[clippy::version = "1.77.0"]
39303930
pub STR_SPLIT_AT_NEWLINE,
39313931
pedantic,
39323932
"splitting a trimmed string at hard-coded newlines"

clippy_lints/src/thread_local_initializer_can_be_made_const.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ declare_clippy_lint! {
3737
/// static BUF: String = const { String::new() };
3838
/// }
3939
/// ```
40-
#[clippy::version = "1.76.0"]
40+
#[clippy::version = "1.77.0"]
4141
pub THREAD_LOCAL_INITIALIZER_CAN_BE_MADE_CONST,
4242
perf,
4343
"suggest using `const` in `thread_local!` macro"

clippy_lints/src/transmute/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ declare_clippy_lint! {
514514
/// ^^^^ ^^ `bool::then` only executes the closure if the condition is true!
515515
/// }
516516
/// ```
517-
#[clippy::version = "1.76.0"]
517+
#[clippy::version = "1.77.0"]
518518
pub EAGER_TRANSMUTE,
519519
correctness,
520520
"eager evaluation of `transmute`"

clippy_lints/src/unconditional_recursion.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ declare_clippy_lint! {
4242
/// Use instead:
4343
///
4444
/// In such cases, either use `#[derive(PartialEq)]` or don't implement it.
45-
#[clippy::version = "1.76.0"]
45+
#[clippy::version = "1.77.0"]
4646
pub UNCONDITIONAL_RECURSION,
4747
suspicious,
4848
"detect unconditional recursion in some traits implementation"

0 commit comments

Comments
 (0)