add test for int -> fn ptr cast

This commit is contained in:
Oliver Schneider 2016-11-15 14:11:00 +01:00
parent 2c34d6558c
commit 511fa40d23
No known key found for this signature in database
GPG Key ID: 56D6EEA0FC67AC46
2 changed files with 9 additions and 1 deletions

View File

@ -61,7 +61,7 @@ impl<'tcx> Error for EvalError<'tcx> {
EvalError::DanglingPointerDeref =>
"dangling pointer was dereferenced",
EvalError::InvalidFunctionPointer =>
"tried to use an integer pointer as a function pointer",
"tried to use an integer pointer or a dangling pointer as a function pointer",
EvalError::InvalidBool =>
"invalid boolean value read",
EvalError::InvalidDiscriminant =>

View File

@ -0,0 +1,8 @@
fn main() {
let b = Box::new(42);
let g = unsafe {
std::mem::transmute::<&usize, &fn(i32)>(&b)
};
(*g)(42) //~ ERROR tried to use an integer pointer or a dangling pointer as a function pointer
}