-
Notifications
You must be signed in to change notification settings - Fork 131
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