rust/tests/compile-fail/fn_ptr_offset.rs
Oliver Schneider 4ba2b82f31
Split the alloc id address space into functions and normal allocs
instead of interleaving them as before.
The next step is to also separate out static memory into its own
address space.
2017-08-08 17:09:25 +02:00

15 lines
359 B
Rust

// Validation makes this fail in the wrong place
// compile-flags: -Zmir-emit-validate=0
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 a function pointer after offsetting it
}