+++ /dev/null
-#![feature(core_intrinsics)]
-
-use std::intrinsics;
-
-fn main() {
- unsafe { intrinsics::forget(); } //~ ERROR this function takes 1 argument but 0 arguments were supplied
- unsafe { intrinsics::forget(1, 2); } //~ ERROR this function takes 1 argument but 2 arguments were supplied
-}
--- /dev/null
+#![feature(core_intrinsics)]
+#![feature(rustc_private)]
+
+fn main() {
+ extern "C" {
+ fn malloc() -> *mut std::ffi::c_void;
+ }
+
+ unsafe {
+ let _ = malloc(); //~ ERROR Undefined Behavior: incorrect number of arguments: got 0, expected 1
+ };
+}
--- /dev/null
+#![feature(core_intrinsics)]
+#![feature(rustc_private)]
+
+fn main() {
+ extern "C" {
+ fn malloc(_: i32, _: i32) -> *mut std::ffi::c_void;
+ }
+
+ unsafe {
+ let _ = malloc(1, 2); //~ ERROR Undefined Behavior: incorrect number of arguments: got 2, expected 1
+ };
+}