18 lines
440 B
Rust
18 lines
440 B
Rust
//@ run-fail
|
|
//@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
|
|
//@ error-pattern: unsafe precondition(s) violated: ptr::replace requires
|
|
//@ revisions: null misaligned
|
|
|
|
use std::ptr;
|
|
|
|
fn main() {
|
|
let mut dst = [0u16; 2];
|
|
let dst = dst.as_mut_ptr();
|
|
unsafe {
|
|
#[cfg(null)]
|
|
ptr::replace(ptr::null_mut::<u8>(), 1);
|
|
#[cfg(misaligned)]
|
|
ptr::replace(dst.byte_add(1), 1u16);
|
|
}
|
|
}
|