summaryrefslogtreecommitdiffstats
path: root/src/test/ui/parser/issues/issue-87217-keyword-order/wrong-async.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/parser/issues/issue-87217-keyword-order/wrong-async.rs')
-rw-r--r--src/test/ui/parser/issues/issue-87217-keyword-order/wrong-async.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/ui/parser/issues/issue-87217-keyword-order/wrong-async.rs b/src/test/ui/parser/issues/issue-87217-keyword-order/wrong-async.rs
new file mode 100644
index 000000000..4ff4cf5c8
--- /dev/null
+++ b/src/test/ui/parser/issues/issue-87217-keyword-order/wrong-async.rs
@@ -0,0 +1,14 @@
+// edition:2018
+
+// There is an order to respect for keywords before a function:
+// `<visibility>, const, async, unsafe, extern, "<ABI>"`
+//
+// This test ensures the compiler is helpful about them being misplaced.
+// Visibilities are tested elsewhere.
+
+unsafe async fn test() {}
+//~^ ERROR expected one of `extern` or `fn`, found keyword `async`
+//~| NOTE expected one of `extern` or `fn`
+//~| HELP `async` must come before `unsafe`
+//~| SUGGESTION async unsafe
+//~| NOTE keyword order for functions declaration is `pub`, `default`, `const`, `async`, `unsafe`, `extern`