error: functions cannot be both `const` and `async` --> $DIR/no-const-async.rs:4:5 | LL | pub const async fn x() {} | ----^^^^^-^^^^^---------- | | | | | `async` because of this | `const` because of this error[E0391]: cycle detected when computing type of `x::{opaque#0}` --> $DIR/no-const-async.rs:4:24 | LL | pub const async fn x() {} | ^ | note: ...which requires borrow-checking `x`... --> $DIR/no-const-async.rs:4:1 | LL | pub const async fn x() {} | ^^^^^^^^^^^^^^^^^^^^^^ note: ...which requires processing MIR for `x`... --> $DIR/no-const-async.rs:4:1 | LL | pub const async fn x() {} | ^^^^^^^^^^^^^^^^^^^^^^ note: ...which requires const checking `x`... --> $DIR/no-const-async.rs:4:1 | LL | pub const async fn x() {} | ^^^^^^^^^^^^^^^^^^^^^^ = note: ...which requires computing whether `impl core::future::future::Future` is freeze... = note: ...which requires evaluating trait selection obligation `impl core::future::future::Future: core::marker::Freeze`... = note: ...which again requires computing type of `x::{opaque#0}`, completing the cycle note: cycle used when checking item types in top-level module --> $DIR/no-const-async.rs:4:1 | LL | pub const async fn x() {} | ^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0391`.