3 // There is an order to respect for keywords before a function:
4 // `<visibility>, const, async, unsafe, extern, "<ABI>"`
6 // This test ensures the compiler is helpful about them being misplaced.
7 // Visibilities are tested elsewhere.
9 extern unsafe fn test() {}
10 //~^ ERROR expected `fn`, found keyword `unsafe`
11 //~| NOTE expected `fn`
12 //~| HELP `unsafe` must come before `extern`
13 //~| SUGGESTION unsafe extern
14 //~| NOTE keyword order for functions declaration is `pub`, `default`, `const`, `async`, `unsafe`, `extern`