error: attribute can only be applied to `async` functions --> $DIR/async-entry.rs:6:5 | 6 | #[rocket::main] | ^^^^^^^^^^^^^^^ | note: this function must be `async` --> $DIR/async-entry.rs:7:5 | 7 | fn foo() { } | ^^^^^^^^ = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) warning: attribute is typically applied to `main` function --> $DIR/async-entry.rs:12:5 | 12 | #[rocket::main] | ^^^^^^^^^^^^^^^ | note: this function is not `main` --> $DIR/async-entry.rs:13:5 | 13 | async fn foo() { } | ^^^^^^^^^^^^^^ = note: this warning originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) error: attribute can only be applied to `async` functions --> $DIR/async-entry.rs:18:5 | 18 | #[rocket::main] | ^^^^^^^^^^^^^^^ | note: this function must be `async` --> $DIR/async-entry.rs:19:5 | 19 | fn main() { | ^^^^^^^^^ = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) error: attribute cannot be applied to `main` function --> $DIR/async-entry.rs:55:5 | 55 | #[rocket::launch] | ^^^^^^^^^^^^^^^^^ | = note: this attribute generates a `main` function note: this function cannot be `main` --> $DIR/async-entry.rs:56:5 | 56 | fn main() -> rocket::Rocket { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) error: attribute can only be applied to functions that return a value --> $DIR/async-entry.rs:63:5 | 63 | #[rocket::launch] | ^^^^^^^^^^^^^^^^^ | note: this function must return a value --> $DIR/async-entry.rs:64:5 | 64 | async fn rocket() { | ^^^^^^^^^^^^^^^^^ = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) error: attribute can only be applied to functions that return a value --> $DIR/async-entry.rs:72:5 | 72 | #[rocket::launch] | ^^^^^^^^^^^^^^^^^ | note: this function must return a value --> $DIR/async-entry.rs:73:5 | 73 | fn rocket() { | ^^^^^^^^^^^ = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) error: attribute cannot be applied to `main` function --> $DIR/async-entry.rs:89:5 | 89 | #[rocket::launch] | ^^^^^^^^^^^^^^^^^ | = note: this attribute generates a `main` function note: this function cannot be `main` --> $DIR/async-entry.rs:90:5 | 90 | fn main() -> &'static str { | ^^^^^^^^^^^^^^^^^^^^^^^^^ = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) error: attribute cannot be applied to `main` function --> $DIR/async-entry.rs:98:5 | 98 | #[rocket::launch] | ^^^^^^^^^^^^^^^^^ | = note: this attribute generates a `main` function note: this function cannot be `main` --> $DIR/async-entry.rs:99:5 | 99 | async fn main() -> rocket::Rocket { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) error[E0728]: `await` is only allowed inside `async` functions and blocks --> $DIR/async-entry.rs:82:17 | 81 | fn rocket() -> rocket::Rocket { | ------ this is not `async` 82 | let _ = rocket::ignite().launch().await; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ only allowed inside `async` functions and blocks error[E0308]: mismatched types --> $DIR/async-entry.rs:40:9 | 40 | rocket::ignite() | ^^^^^^^^^^^^^^^^ expected struct `std::string::String`, found struct `rocket::rocket::Rocket` error[E0308]: mismatched types --> $DIR/async-entry.rs:49:9 | 49 | "hi".to_string() | ^^^^^^^^^^^^^^^^ expected struct `rocket::rocket::Rocket`, found struct `std::string::String` error[E0308]: mismatched types --> $DIR/async-entry.rs:27:21 | 27 | async fn main() { | ^ expected `()` because of default return type | _____________________| | | 28 | | //~^ ERROR mismatched types 29 | | rocket::ignite() 30 | | } | | ^- help: try adding a semicolon: `;` | |_____| | expected `()`, found struct `rocket::rocket::Rocket` error[E0308]: mismatched types --> $DIR/async-entry.rs:37:26 | 37 | async fn rocket() -> String { | ^^^^^^ | | | expected struct `rocket::rocket::Rocket`, found struct `std::string::String` | expected due to this error[E0277]: `main` has invalid return type `rocket::rocket::Rocket` --> $DIR/async-entry.rs:106:20 | 106 | async fn main() -> rocket::Rocket { | ^^^^^^^^^^^^^^ `main` can only return types that implement `std::process::Termination` | = help: consider using `()`, or a `Result` error: aborting due to 13 previous errors; 1 warning emitted Some errors have detailed explanations: E0277, E0308, E0728. For more information about an error, try `rustc --explain E0277`.