2017-08-02 17:35:44 -05:00
|
|
|
// Validation makes this fail in the wrong place
|
|
|
|
// compile-flags: -Zmir-emit-validate=0
|
|
|
|
|
2017-06-21 23:54:42 -05:00
|
|
|
use std::mem;
|
|
|
|
|
|
|
|
fn f() {}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let x : fn() = f;
|
|
|
|
let y : *mut u8 = unsafe { mem::transmute(x) };
|
|
|
|
let y = y.wrapping_offset(1);
|
|
|
|
let x : fn() = unsafe { mem::transmute(y) };
|
|
|
|
x(); //~ ERROR: tried to use an integer pointer or a dangling pointer as a function pointer
|
|
|
|
}
|