summaryrefslogtreecommitdiffstats
path: root/tests/ui/functions-closures/fn-abi.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/functions-closures/fn-abi.rs')
-rw-r--r--tests/ui/functions-closures/fn-abi.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/ui/functions-closures/fn-abi.rs b/tests/ui/functions-closures/fn-abi.rs
new file mode 100644
index 000000000..ac3a4be33
--- /dev/null
+++ b/tests/ui/functions-closures/fn-abi.rs
@@ -0,0 +1,18 @@
+// run-pass
+// Ensure that declarations and types which use `extern fn` both have the same
+// ABI (#9309).
+
+// pretty-expanded FIXME #23616
+// aux-build:fn-abi.rs
+
+extern crate fn_abi;
+
+extern "C" {
+ fn foo();
+}
+
+pub fn main() {
+ // Will only type check if the type of _p and the decl of foo use the
+ // same ABI
+ let _p: unsafe extern "C" fn() = foo;
+}