2020-04-14 09:58:58 +02:00
|
|
|
// Make sure we find these even with many checks disabled.
|
2021-03-25 12:44:30 +01:00
|
|
|
// Some optimizations remove ZST accesses, thus masking this UB.
|
2022-07-08 16:08:32 +00:00
|
|
|
//@compile-flags: -Zmir-opt-level=0 -Zmiri-disable-alignment-check -Zmiri-disable-stacked-borrows -Zmiri-disable-validation
|
2020-04-14 09:58:58 +02:00
|
|
|
|
2019-08-02 14:26:15 +02:00
|
|
|
fn main() {
|
|
|
|
let p = {
|
|
|
|
let b = Box::new(42);
|
|
|
|
&*b as *const i32 as *const ()
|
|
|
|
};
|
2022-07-11 11:44:55 +00:00
|
|
|
let _x = unsafe { *p }; //~ ERROR: dereferenced after this allocation got freed
|
2019-08-02 14:26:15 +02:00
|
|
|
}
|