Skip to content

Commit 5e27ee7

Browse files
committed
use MaybeUninit in core::ptr::swap_nonoverlapping_bytes
Code by @japaric, I just split it into individual commits
1 parent 3fb03d0 commit 5e27ee7

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/libcore/ptr.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,8 @@ unsafe fn swap_nonoverlapping_bytes(x: *mut u8, y: *mut u8, len: usize) {
389389
while i + block_size <= len {
390390
// Create some uninitialized memory as scratch space
391391
// Declaring `t` here avoids aligning the stack when this loop is unused
392-
let mut t: Block = mem::uninitialized();
393-
let t = &mut t as *mut _ as *mut u8;
392+
let mut t = mem::MaybeUninit::<Block>::uninitialized();
393+
let t = t.as_mut_ptr() as *mut u8;
394394
let x = x.add(i);
395395
let y = y.add(i);
396396

@@ -404,10 +404,10 @@ unsafe fn swap_nonoverlapping_bytes(x: *mut u8, y: *mut u8, len: usize) {
404404

405405
if i < len {
406406
// Swap any remaining bytes
407-
let mut t: UnalignedBlock = mem::uninitialized();
407+
let mut t = mem::MaybeUninit::<UnalignedBlock>::uninitialized();
408408
let rem = len - i;
409409

410-
let t = &mut t as *mut _ as *mut u8;
410+
let t = t.as_mut_ptr() as *mut u8;
411411
let x = x.add(i);
412412
let y = y.add(i);
413413

0 commit comments

Comments
 (0)