Open
Description
Code
extern "C" const unsafe fn x() {}
Current output
error: expected `{`, found keyword `const`
--> src/lib.rs:1:12
|
1 | extern "C" const unsafe fn x() {}
| ^^^^^ expected `{`
Desired output
error: expected `fn`, found keyword `const`
--> src/lib.rs:1:12
|
1 | extern "C" const unsafe fn x() {}
| -----------^^^^^
| | |
| | expected `fn`
| help: `extern "C"` must come after `const unsafe`: `const unsafe extern "C"`
|
= note: keyword order for functions declaration is `pub`, `default`, `const`, `async`, `unsafe`, `extern`
Rationale and extra context
this is also not very relevant. the extra diagnostic is probably not emitted because there are two misplaced tokens (extern "C"
).
Other cases
Rust Version
rustc 1.88.0-nightly (d6c1e454a 2025-04-21)
binary: rustc
commit-hash: d6c1e454aa8af5e7e59fbf5c4e7d3128d2f99582
commit-date: 2025-04-21
host: x86_64-unknown-linux-gnu
release: 1.88.0-nightly
LLVM version: 20.1.2
Anything else?
No response