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

From: Boqun Feng
Date: Fri Mar 14 2025 - 20:24:15 EST


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?

Regards,
Boqun

> /// pin: PhantomPinned,
> /// });
> /// pin_init!(Buf {
[...]