add test checking that overlapping assignments work
This commit is contained in:
parent
460e92b6a9
commit
3c39dc2cba
@ -20,6 +20,15 @@ fn basic_raw() {
|
|||||||
assert_eq!(*x, 23);
|
assert_eq!(*x, 23);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn assign_overlapping() {
|
||||||
|
// Test an assignment where LHS and RHS alias.
|
||||||
|
// In Mir, that's UB (see `fail/overlapping_assignment.rs`), but in surface Rust this is allowed.
|
||||||
|
let mut mem = [0u32; 4];
|
||||||
|
let ptr = &mut mem as *mut [u32; 4];
|
||||||
|
unsafe { *ptr = *ptr };
|
||||||
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
basic_raw();
|
basic_raw();
|
||||||
|
assign_overlapping();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user