summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_error_codes/src/error_codes/E0724.md
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_error_codes/src/error_codes/E0724.md')
-rw-r--r--compiler/rustc_error_codes/src/error_codes/E0724.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes/E0724.md b/compiler/rustc_error_codes/src/error_codes/E0724.md
new file mode 100644
index 000000000..70578acbe
--- /dev/null
+++ b/compiler/rustc_error_codes/src/error_codes/E0724.md
@@ -0,0 +1,25 @@
+`#[ffi_returns_twice]` was used on something other than a foreign function
+declaration.
+
+Erroneous code example:
+
+```compile_fail,E0724
+#![feature(ffi_returns_twice)]
+#![crate_type = "lib"]
+
+#[ffi_returns_twice] // error!
+pub fn foo() {}
+```
+
+`#[ffi_returns_twice]` can only be used on foreign function declarations.
+For example, we might correct the previous example by declaring
+the function inside of an `extern` block.
+
+```
+#![feature(ffi_returns_twice)]
+
+extern "C" {
+ #[ffi_returns_twice] // ok!
+ pub fn foo();
+}
+```