2022-12-09 09:56:23 -06:00
|
|
|
// compile-flags: -Z ui-testing=no
|
2022-12-05 04:42:59 -06:00
|
|
|
// normalize-stderr-test "alloc[0-9]+" -> "ALLOC_ID"
|
2022-11-15 09:24:54 -06:00
|
|
|
|
|
|
|
#![feature(const_swap)]
|
|
|
|
#![feature(const_mut_refs)]
|
|
|
|
use std::{
|
|
|
|
mem::{self, MaybeUninit},
|
|
|
|
ptr,
|
|
|
|
};
|
|
|
|
|
|
|
|
const X: () = {
|
|
|
|
let mut ptr1 = &1;
|
|
|
|
let mut ptr2 = &2;
|
|
|
|
|
|
|
|
// Swap them, bytewise.
|
|
|
|
unsafe {
|
|
|
|
ptr::swap_nonoverlapping(
|
|
|
|
&mut ptr1 as *mut _ as *mut MaybeUninit<u8>,
|
|
|
|
&mut ptr2 as *mut _ as *mut MaybeUninit<u8>,
|
|
|
|
mem::size_of::<&i32>(),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
X
|
|
|
|
}
|