Re: [PATCH v3 2/3] rust: replace `addr_of[_mut]!` with `&raw [mut]`

From: Boqun Feng
Date: Sat Mar 15 2025 - 08:42:37 EST


On Sat, Mar 15, 2025 at 09:47:51AM +0000, Benno Lossin wrote:
> On Sat Mar 15, 2025 at 1:23 AM CET, Boqun Feng wrote:
> > On Fri, Mar 14, 2025 at 11:41:55PM +0000, Antonio Hickey wrote:
> > [...]
> >> @@ -541,7 +541,7 @@ macro_rules! stack_try_pin_init {
> >> ///
> >> /// ```rust
> >> /// # use kernel::{macros::{Zeroable, pin_data}, pin_init};
> >> -/// # use core::{ptr::addr_of_mut, marker::PhantomPinned};
> >> +/// # use core::marker::PhantomPinned;
> >> /// #[pin_data]
> >> /// #[derive(Zeroable)]
> >> /// struct Buf {
> >> @@ -554,7 +554,7 @@ macro_rules! stack_try_pin_init {
> >> /// pin_init!(&this in Buf {
> >> /// buf: [0; 64],
> >> /// // SAFETY: TODO.
> >> -/// ptr: unsafe { addr_of_mut!((*this.as_ptr()).buf).cast() },
> >> +/// ptr: unsafe { &raw mut (*this.as_ptr()).buf.cast() },
> >
> > This should be:
> >
> >
> > /// ptr: unsafe { &raw mut ((*this.as_ptr()).buf).cast() },
> >
> > , right?
>
> I'd say it has to be `ptr: unsafe { (&raw mut ((*this.as_ptr()).buf)).cast() }
>

Right, I missed a pair of parenthesis ;-) Thanks!

Regards,
Boqun

> ---
> Cheers,
> Benno
>