about summary refs log tree commit diff
path: root/src/tools/miri/tests/fail/function_pointers/fn_ptr_offset.rs
blob: eba0953ac863f444245800a90e5839d491723a3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Validation makes this fail in the wrong place
//@compile-flags: -Zmiri-disable-validation

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: function pointer but it does not point to a function
}