]> git.lizzy.rs Git - rust.git/commitdiff
update fn ptr tests
authorRalf Jung <post@ralfj.de>
Fri, 25 Feb 2022 00:41:11 +0000 (19:41 -0500)
committerRalf Jung <post@ralfj.de>
Fri, 25 Feb 2022 17:06:10 +0000 (12:06 -0500)
tests/compile-fail/validity/fn_ptr_offset.rs [deleted file]
tests/compile-fail/validity/invalid_fnptr_null.rs
tests/run-pass/function_pointers.rs

diff --git a/tests/compile-fail/validity/fn_ptr_offset.rs b/tests/compile-fail/validity/fn_ptr_offset.rs
deleted file mode 100644 (file)
index 27d8c83..0000000
+++ /dev/null
@@ -1,10 +0,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) }; //~ ERROR encountered a potentially null function pointer
-}
index 2270740fe1495c5465e2715c66ef16ceeb44d3fe..0634fba36a3304396329ce1d81e848baabc2c81e 100644 (file)
@@ -1,5 +1,5 @@
 #![allow(invalid_value)]
 
 fn main() {
-    let _b: fn() = unsafe { std::mem::transmute(0usize) }; //~ ERROR encountered a potentially null function pointer
+    let _b: fn() = unsafe { std::mem::transmute(0usize) }; //~ ERROR encountered a null function pointer
 }
index dcef1fa221dcba4a8078da8165e84e5e0eb030a5..e7d9b2ddd98ca133a583c309dc65c1b67f160eaa 100644 (file)
@@ -62,9 +62,10 @@ fn main() {
     // Any non-null value is okay for function pointers.
     unsafe {
         let _x: fn() = mem::transmute(1usize);
-        let mut b = Box::new(42);
-        let ptr = &mut *b as *mut _;
+        let mut b = Box::new(42u8);
+        let ptr = &mut *b as *mut u8;
         drop(b);
         let _x: fn() = mem::transmute(ptr);
+        let _x: fn() = mem::transmute(ptr.wrapping_offset(1));
     }
 }