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
This commit is contained in:
commit
a16a9ed4c6
58
CHANGELOG.md
58
CHANGELOG.md
|
@ -6,11 +6,65 @@ document.
|
|||
|
||||
## Unreleased / Beta / In Rust Nightly
|
||||
|
||||
[a859e5cc...master](https://github.com/rust-lang/rust-clippy/compare/a859e5cc...master)
|
||||
[66c29b97...master](https://github.com/rust-lang/rust-clippy/compare/66c29b97...master)
|
||||
|
||||
## Rust 1.77
|
||||
|
||||
Current stable, released 2024-03-18
|
||||
|
||||
[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)
|
||||
|
||||
### New Lints
|
||||
|
||||
* [`suspicious_open_options`]
|
||||
[#11608](https://github.com/rust-lang/rust-clippy/pull/11608)
|
||||
* [`option_as_ref_cloned`]
|
||||
[#12051](https://github.com/rust-lang/rust-clippy/pull/12051)
|
||||
* [`thread_local_initializer_can_be_made_const`]
|
||||
[#12026](https://github.com/rust-lang/rust-clippy/pull/12026)
|
||||
* [`str_split_at_newline`]
|
||||
[#11987](https://github.com/rust-lang/rust-clippy/pull/11987)
|
||||
* [`empty_enum_variants_with_brackets`]
|
||||
[#12047](https://github.com/rust-lang/rust-clippy/pull/12047)
|
||||
* [`manual_is_variant_and`]
|
||||
[#11865](https://github.com/rust-lang/rust-clippy/pull/11865)
|
||||
* [`pub_underscore_fields`]
|
||||
[#10283](https://github.com/rust-lang/rust-clippy/pull/10283)
|
||||
* [`eager_transmute`]
|
||||
[#11981](https://github.com/rust-lang/rust-clippy/pull/11981)
|
||||
* [`iter_filter_is_some`]
|
||||
[#12004](https://github.com/rust-lang/rust/pull/12004)
|
||||
* [`iter_filter_is_ok`]
|
||||
[#12004](https://github.com/rust-lang/rust/pull/12004)
|
||||
* [`result_filter_map`]
|
||||
[#11869](https://github.com/rust-lang/rust-clippy/pull/11869)
|
||||
* [`unconditional_recursion`]
|
||||
[#11938](https://github.com/rust-lang/rust-clippy/pull/11938)
|
||||
|
||||
### Enhancements
|
||||
|
||||
* [`multiple_crate_versions`]: Added the [`allowed-duplicate-crates`] configuration to allow specific crates
|
||||
[#12179](https://github.com/rust-lang/rust-clippy/pull/12179)
|
||||
* [`single_call_fn`]: No longer ignores `#[allow]` attributes
|
||||
[#12183](https://github.com/rust-lang/rust-clippy/pull/12183)
|
||||
* [`read_zero_byte_vec`]: Updated the heuristics used for linting
|
||||
[#11766](https://github.com/rust-lang/rust-clippy/pull/11766)
|
||||
|
||||
### ICE Fixes
|
||||
|
||||
* [`unit_arg`]: No longer crashes when checking for const in nested bodies
|
||||
[#11977](https://github.com/rust-lang/rust-clippy/pull/11977)
|
||||
* [`indexing_slicing`]: No longer crashes when the array index exceeds `usize`
|
||||
[#12266](https://github.com/rust-lang/rust-clippy/pull/12266)
|
||||
|
||||
### Others
|
||||
|
||||
* Warnings about invalid fields inside `clippy.toml` files now include suggestions for existing fields
|
||||
[#12180](https://github.com/rust-lang/rust-clippy/pull/12180)
|
||||
|
||||
## Rust 1.76
|
||||
|
||||
Current stable, released 2024-02-08
|
||||
Released 2024-02-08
|
||||
|
||||
[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)
|
||||
|
||||
|
|
|
@ -2863,7 +2863,7 @@ declare_clippy_lint! {
|
|||
///
|
||||
/// OpenOptions::new().create(true).truncate(true);
|
||||
/// ```
|
||||
#[clippy::version = "1.75.0"]
|
||||
#[clippy::version = "1.77.0"]
|
||||
pub SUSPICIOUS_OPEN_OPTIONS,
|
||||
suspicious,
|
||||
"suspicious combination of options for opening a file"
|
||||
|
@ -3817,7 +3817,7 @@ declare_clippy_lint! {
|
|||
/// ```no_run
|
||||
/// let _ = std::iter::empty::<Result<i32, ()>>().flatten();
|
||||
/// ```
|
||||
#[clippy::version = "1.76.0"]
|
||||
#[clippy::version = "1.77.0"]
|
||||
pub RESULT_FILTER_MAP,
|
||||
complexity,
|
||||
"filtering `Result` for `Ok` then force-unwrapping, which can be one type-safe operation"
|
||||
|
@ -3843,7 +3843,7 @@ declare_clippy_lint! {
|
|||
/// // example code which does not raise clippy warning
|
||||
/// vec![Some(1)].into_iter().flatten();
|
||||
/// ```
|
||||
#[clippy::version = "1.76.0"]
|
||||
#[clippy::version = "1.77.0"]
|
||||
pub ITER_FILTER_IS_SOME,
|
||||
pedantic,
|
||||
"filtering an iterator over `Option`s for `Some` can be achieved with `flatten`"
|
||||
|
@ -3869,7 +3869,7 @@ declare_clippy_lint! {
|
|||
/// // example code which does not raise clippy warning
|
||||
/// vec![Ok::<i32, String>(1)].into_iter().flatten();
|
||||
/// ```
|
||||
#[clippy::version = "1.76.0"]
|
||||
#[clippy::version = "1.77.0"]
|
||||
pub ITER_FILTER_IS_OK,
|
||||
pedantic,
|
||||
"filtering an iterator over `Result`s for `Ok` can be achieved with `flatten`"
|
||||
|
@ -3896,7 +3896,7 @@ declare_clippy_lint! {
|
|||
/// option.is_some_and(|a| a > 10);
|
||||
/// result.is_ok_and(|a| a > 10);
|
||||
/// ```
|
||||
#[clippy::version = "1.76.0"]
|
||||
#[clippy::version = "1.77.0"]
|
||||
pub MANUAL_IS_VARIANT_AND,
|
||||
pedantic,
|
||||
"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! {
|
|||
/// `"\r\n"`), for example during the parsing of a specific file format in which precisely one newline type is
|
||||
/// valid.
|
||||
/// ```
|
||||
#[clippy::version = "1.76.0"]
|
||||
#[clippy::version = "1.77.0"]
|
||||
pub STR_SPLIT_AT_NEWLINE,
|
||||
pedantic,
|
||||
"splitting a trimmed string at hard-coded newlines"
|
||||
|
|
|
@ -37,7 +37,7 @@ declare_clippy_lint! {
|
|||
/// static BUF: String = const { String::new() };
|
||||
/// }
|
||||
/// ```
|
||||
#[clippy::version = "1.76.0"]
|
||||
#[clippy::version = "1.77.0"]
|
||||
pub THREAD_LOCAL_INITIALIZER_CAN_BE_MADE_CONST,
|
||||
perf,
|
||||
"suggest using `const` in `thread_local!` macro"
|
||||
|
|
|
@ -514,7 +514,7 @@ declare_clippy_lint! {
|
|||
/// ^^^^ ^^ `bool::then` only executes the closure if the condition is true!
|
||||
/// }
|
||||
/// ```
|
||||
#[clippy::version = "1.76.0"]
|
||||
#[clippy::version = "1.77.0"]
|
||||
pub EAGER_TRANSMUTE,
|
||||
correctness,
|
||||
"eager evaluation of `transmute`"
|
||||
|
|
|
@ -42,7 +42,7 @@ declare_clippy_lint! {
|
|||
/// Use instead:
|
||||
///
|
||||
/// In such cases, either use `#[derive(PartialEq)]` or don't implement it.
|
||||
#[clippy::version = "1.76.0"]
|
||||
#[clippy::version = "1.77.0"]
|
||||
pub UNCONDITIONAL_RECURSION,
|
||||
suspicious,
|
||||
"detect unconditional recursion in some traits implementation"
|
||||
|
|
Loading…
Reference in New Issue