Re: [PATCH 02/13] rust: init: simplify from `map_err` to `inspect_err`

From: Benno Lossin
Date: Tue Jul 02 2024 - 02:28:18 EST


On 01.07.24 23:58, Miguel Ojeda wrote:
> On Mon, Jul 1, 2024 at 10:05 PM Björn Roy Baron
> <bjorn3_gh@xxxxxxxxxxxxxx> wrote:
>>
>> The formatting here is a bit weird. I would have expected the ) ending the inspect_err call to be placed on a new line given that the unsafe block isn't placed on the same line as the start of the inspect_err call either. This seems to be a case where rustfmt mostly gives up on formatting. If I deindent the comment and unsafe block rustfmt will keep it that way and if I add a trailing space to the inspect_err line it will keep it and emit an error that it left behind trailing whitespace. Maybe add a block around the comment and unsafe block to make rustfmt work again?
>
> Benno: any preference here? Or even open coding it.

I would put the comment outside of the closure:

let val = unsafe { &mut *slot };
// SAFETY: `slot` is considered pinned.
let val = unsafe { Pin::new_unchecked(val) };
// SAFETY: `slot` was initialized above.
(self.1)(val).inspect_err(|_| unsafe { core::ptr::drop_in_place(slot) })

---
Cheers,
Benno