All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miguel Ojeda <ojeda@kernel.org>
To: Miguel Ojeda <ojeda@kernel.org>,
	Wedson Almeida Filho <wedsonaf@gmail.com>,
	Alex Gaynor <alex.gaynor@gmail.com>
Cc: "Boqun Feng" <boqun.feng@gmail.com>,
	"Gary Guo" <gary@garyguo.net>,
	"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
	"Benno Lossin" <benno.lossin@proton.me>,
	"Andreas Hindborg" <a.hindborg@samsung.com>,
	"Alice Ryhl" <aliceryhl@google.com>,
	rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
	patches@lists.linux.dev
Subject: [PATCH 02/13] rust: init: simplify from `map_err` to `inspect_err`
Date: Mon,  1 Jul 2024 20:36:12 +0200	[thread overview]
Message-ID: <20240701183625.665574-3-ojeda@kernel.org> (raw)
In-Reply-To: <20240701183625.665574-1-ojeda@kernel.org>

A new complexity lint, `manual_inspect` [1], has been introduced in
the upcoming Rust 1.81 (currently in nightly), which checks for uses of
`map*` which return the original item:

    error:
    --> rust/kernel/init.rs:846:23
        |
    846 |         (self.1)(val).map_err(|e| {
        |                       ^^^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect
        = note: `-D clippy::manual-inspect` implied by `-D warnings`
        = help: to override `-D warnings` add `#[allow(clippy::manual_inspect)]`
    help: try
        |
    846 ~         (self.1)(val).inspect_err(|e| {
    847 |             // SAFETY: `slot` was initialized above.
    848 ~             unsafe { core::ptr::drop_in_place(slot) };
        |

Thus clean them up.

Link: https://rust-lang.github.io/rust-clippy/master/index.html#/manual_inspect [1]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
 rust/kernel/init.rs | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/rust/kernel/init.rs b/rust/kernel/init.rs
index 68605b633e73..07bacf134c19 100644
--- a/rust/kernel/init.rs
+++ b/rust/kernel/init.rs
@@ -843,11 +843,9 @@ unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), E> {
         let val = unsafe { &mut *slot };
         // SAFETY: `slot` is considered pinned.
         let val = unsafe { Pin::new_unchecked(val) };
-        (self.1)(val).map_err(|e| {
+        (self.1)(val).inspect_err(|_|
             // SAFETY: `slot` was initialized above.
-            unsafe { core::ptr::drop_in_place(slot) };
-            e
-        })
+            unsafe { core::ptr::drop_in_place(slot) })
     }
 }
 
@@ -941,11 +939,9 @@ unsafe fn __init(self, slot: *mut T) -> Result<(), E> {
         // SAFETY: All requirements fulfilled since this function is `__init`.
         unsafe { self.0.__pinned_init(slot)? };
         // SAFETY: The above call initialized `slot` and we still have unique access.
-        (self.1)(unsafe { &mut *slot }).map_err(|e| {
+        (self.1)(unsafe { &mut *slot }).inspect_err(|_|
             // SAFETY: `slot` was initialized above.
-            unsafe { core::ptr::drop_in_place(slot) };
-            e
-        })
+            unsafe { core::ptr::drop_in_place(slot) })
     }
 }
 
-- 
2.45.2


  parent reply	other threads:[~2024-07-01 18:36 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-01 18:36 [PATCH 00/13] Support several Rust toolchain versions Miguel Ojeda
2024-07-01 18:36 ` [PATCH 01/13] rust: macros: indent list item in `paste!`'s docs Miguel Ojeda
2024-07-01 19:59   ` Björn Roy Baron
2024-07-04 14:25   ` Finn Behrens
2024-07-01 18:36 ` Miguel Ojeda [this message]
2024-07-01 20:05   ` [PATCH 02/13] rust: init: simplify from `map_err` to `inspect_err` Björn Roy Baron
2024-07-01 21:58     ` Miguel Ojeda
2024-07-02  6:28       ` Benno Lossin
2024-07-02 12:27       ` Alice Ryhl
2024-07-01 18:36 ` [PATCH 03/13] rust: allow `dead_code` for never constructed bindings Miguel Ojeda
2024-07-01 20:06   ` Björn Roy Baron
2024-07-04 14:30   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 04/13] rust: relax most deny-level lints to warnings Miguel Ojeda
2024-07-01 19:48   ` Björn Roy Baron
2024-07-01 21:58     ` Miguel Ojeda
2024-07-04 14:34   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 05/13] rust: simplify Clippy warning flags set Miguel Ojeda
2024-07-04 14:37   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 06/13] rust: start supporting several compiler versions Miguel Ojeda
     [not found]   ` <70F3F3DD-AAE6-445A-AC16-C71A06C4EA06@kloenk.dev>
2024-07-04 15:26     ` Miguel Ojeda
2024-07-01 18:36 ` [PATCH 07/13] rust: warn about `bindgen` versions 0.66.0 and 0.66.1 Miguel Ojeda
2024-07-04 14:47   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 08/13] rust: work around `bindgen` 0.69.0 issue Miguel Ojeda
2024-07-04 14:51   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 09/13] rust: avoid assuming a particular `bindgen` build Miguel Ojeda
2024-07-01 18:36 ` [PATCH 10/13] rust: start supporting several `bindgen` versions Miguel Ojeda
2024-07-01 18:36 ` [PATCH 11/13] kbuild: rust: add `rustc-version` support Miguel Ojeda
2024-07-04 15:05   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 12/13] rust: support the new `-Zub-checks` flag Miguel Ojeda
2024-07-04 15:07   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 13/13] docs: rust: quick-start: add section on Linux distributions Miguel Ojeda
2024-07-05  6:19   ` Andrea Righi
2024-07-05  6:46     ` Fabian Grünbichler
2024-07-05 12:52       ` Miguel Ojeda
2024-07-05 13:09         ` Fabian Grünbichler
2024-07-05 13:46           ` Miguel Ojeda
2024-07-05 10:50     ` Miguel Ojeda
2024-07-05 12:59       ` Andrea Righi
2024-07-02  6:25 ` [PATCH 00/13] Support several Rust toolchain versions Benno Lossin
2024-07-02  9:41   ` Miguel Ojeda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240701183625.665574-3-ojeda@kernel.org \
    --to=ojeda@kernel.org \
    --cc=a.hindborg@samsung.com \
    --cc=alex.gaynor@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=benno.lossin@proton.me \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=gary@garyguo.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=wedsonaf@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.