1
Fork 0

[ACP 362] genericize ptr::from_raw_parts

This commit is contained in:
Scott McMurray 2024-05-28 19:00:37 -07:00
parent 751691271d
commit 0d63e6b608
13 changed files with 28 additions and 18 deletions

View file

@ -83,12 +83,12 @@ fn align_of_val_raw_packed() {
f: [u32],
}
let storage = [0u8; 4];
let b: *const B = ptr::from_raw_parts(storage.as_ptr().cast(), 1);
let b: *const B = ptr::from_raw_parts(storage.as_ptr(), 1);
assert_eq!(unsafe { align_of_val_raw(b) }, 1);
const ALIGN_OF_VAL_RAW: usize = {
let storage = [0u8; 4];
let b: *const B = ptr::from_raw_parts(storage.as_ptr().cast(), 1);
let b: *const B = ptr::from_raw_parts(storage.as_ptr(), 1);
unsafe { align_of_val_raw(b) }
};
assert_eq!(ALIGN_OF_VAL_RAW, 1);

View file

@ -965,7 +965,7 @@ fn thin_box() {
fn value_ptr(&self) -> *const T {
let (_, offset) = self.layout();
let data_ptr = unsafe { self.ptr.cast::<u8>().as_ptr().add(offset) };
ptr::from_raw_parts(data_ptr.cast(), self.meta())
ptr::from_raw_parts(data_ptr, self.meta())
}
fn value_mut_ptr(&mut self) -> *mut T {
@ -973,7 +973,7 @@ fn thin_box() {
// FIXME: can this line be shared with the same in `value_ptr()`
// without upsetting Stacked Borrows?
let data_ptr = unsafe { self.ptr.cast::<u8>().as_ptr().add(offset) };
from_raw_parts_mut(data_ptr.cast(), self.meta())
from_raw_parts_mut(data_ptr, self.meta())
}
}