FAILED: Patch "rust: pin-init: replace clippy `expect` with `allow`" failed to apply to 6.12-stable tree
Subsystems (3)
Sasha Levin
maintainerThe patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Thanks,
Sasha
------------------ original commit in Linus's tree ------------------
From a58b8764aed9648357b1c5b6368c9943ba33b7f9 Mon Sep 17 00:00:00 2001
From: Benno Lossin <[email protected]>
Date: Sun, 15 Feb 2026 14:22:30 +0100
Subject: [PATCH] rust: pin-init: replace clippy expect with allow
clippy has changed behavior in [1] (Rust 1.95) where it no longer warns about the let_and_return lint when a comment is placed between the let binding and the return expression. Nightly thus fails to build, because the expectation is no longer fulfilled.
Thus replace the expectation with an allow.
[ The errors were:
error: this lint expectation is unfulfilled
--> rust/pin-init/src/lib.rs:1279:10
|
1279 | #[expect(clippy::let_and_return)]
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D unfulfilled-lint-expectations` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(unfulfilled_lint_expectations)]`
error: this lint expectation is unfulfilled
--> rust/pin-init/src/lib.rs:1295:10
|
1295 | #[expect(clippy::let_and_return)]
| ^^^^^^^^^^^^^^^^^^^^^^
- Miguel ]--- rust/pin-init/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
rust/pin-init/src/lib.rs +2 -2
@@ -1276,13 +1276,13 @@ unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), E> {/// /// - `*mut U` must be castable to `*mut T` and any value of type `T` written through such a /// pointer must result in a valid `U`. -#[expect(clippy::let_and_return)] pub const unsafe fn cast_pin_init <T ,U ,E >(init:impl PinInit <T ,E >) ->impl PinInit <U ,E > {// SAFETY: initialization delegated to a valid initializer. Cast is valid by function safety // requirements. let res =unsafe {pin_init_from_closure (|ptr: *mut U | init.__pinned_init (ptr.cast ::<T >())) };// FIXME: remove the let statement once the nightly-MSRV allows it (1.78 otherwise encounters a // cycle when computing the type returned by this function) +#[allow(clippy::let_and_return)] res }
@@ -1292,13 +1292,13 @@ unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), E> {/// /// - `*mut U` must be castable to `*mut T` and any value of type `T` written through such a /// pointer must result in a valid `U`. -#[expect(clippy::let_and_return)] pub const unsafe fn cast_init <T ,U ,E >(init:impl Init <T ,E >) ->impl Init <U ,E > {// SAFETY: initialization delegated to a valid initializer. Cast is valid by function safety // requirements. let res =unsafe {init_from_closure (|ptr: *mut U | init.__init (ptr.cast ::<T >())) };// FIXME: remove the let statement once the nightly-MSRV allows it (1.78 otherwise encounters a // cycle when computing the type returned by this function) +#[allow(clippy::let_and_return)] res }
Signature · 1 line
2.51.0
Quoted 5 lines · Sasha Levin
The patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
These functions were added later than 6.12.y, so this is fine:
Quoted 1 line
Cc [email protected] # Needed in 6.18.y and later.
Cheers,
Miguel