diff --git a/src/test/compile-fail/native-unsafe-fn-called.rs b/src/test/compile-fail/native-unsafe-fn-called.rs new file mode 100644 index 000000000000..3104884130b1 --- /dev/null +++ b/src/test/compile-fail/native-unsafe-fn-called.rs @@ -0,0 +1,11 @@ +// -*- rust -*- +// error-pattern: safe function calls function marked unsafe + +native "cdecl" mod test { + unsafe fn free(); +} + +fn main() { + test::free(); +} + diff --git a/src/test/compile-fail/native-unsafe-fn.rs b/src/test/compile-fail/native-unsafe-fn.rs new file mode 100644 index 000000000000..2a2ce4b3246e --- /dev/null +++ b/src/test/compile-fail/native-unsafe-fn.rs @@ -0,0 +1,12 @@ +// -*- rust -*- +// error-pattern: unsafe functions can only be called + +native "cdecl" mod test { + unsafe fn free(); +} + +fn main() { + let x = test::free; +} + + diff --git a/src/test/compile-fail/unsafe-fn-called-from-safe.rs b/src/test/compile-fail/unsafe-fn-called-from-safe.rs index b294ad16344f..62fcfa689d97 100644 --- a/src/test/compile-fail/unsafe-fn-called-from-safe.rs +++ b/src/test/compile-fail/unsafe-fn-called-from-safe.rs @@ -1,6 +1,5 @@ // -*- rust -*- // error-pattern: safe function calls function marked unsafe -// xfail-test unsafe fn f() { ret; }