Rust errors / Everything else
Rust compiler error · checked with rustc 1.99.0
Rust error E0752: `main` function is not allowed to be `async`
What it meansThe entry point of the program was marked as async.
What rustc prints
error[E0752]: `main` function is not allowed to be `async`
--> main.rs:1:1
|
1 | async fn main() -> Result<(), ()> { // error!
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`Real output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.
The compiler team's explanation
The entry point of the program was marked as async.
Erroneous code example:
async fn main() -> Result<(), ()> { // error!
Ok(())
}
fn main() or the specified start function is not allowed to be async. Not having a correct async runtime library setup may cause this error. To fix it, declare the entry point without async:
fn main() -> Result<(), ()> { // ok!
Ok(())
}From rustc --explain E0752 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0061this function takes N arguments but M were supplied
- E0412cannot find type in this scope
- E0515cannot return reference to local variable
- E0728await is only allowed inside async functions and blocks
- E0733recursion in an async fn requires boxing
- E0753expected outer doc comment
- E0758unterminated block comment
Up next
Often hit nextE0061: this function takes N arguments but M were suppliedA related error from the same family.Read it next →Did this answer your question?