-
Notifications
You must be signed in to change notification settings - Fork 121
Closed
Labels
blocking-next-releaseThis issue should be resolved before we release on crates.ioThis issue should be resolved before we release on crates.io
Description
Confirm that our uses of addr_of!
are sound in light of rust-lang/rust#129653. As of this writing, it appears that there are two uses:
One is Unalign::get_ptr
:
Lines 233 to 235 in b8c3178
pub const fn get_ptr(&self) -> *const T { | |
ptr::addr_of!(self.0) | |
} |
One is in trailing_field_offset!
:
Lines 187 to 189 in b8c3178
let field = unsafe { | |
$crate::macro_util::core_reexport::ptr::addr_of!((*ptr).$trailing_field_name) | |
}; |
The Unalign::get_ptr
one may be problematic if the user uses the returned *const T
to perform mutation. We may need to clarify in the safety docs on that method that the returned pointer is read-only.
Metadata
Metadata
Assignees
Labels
blocking-next-releaseThis issue should be resolved before we release on crates.ioThis issue should be resolved before we release on crates.io