error: expected one of `extern`, `fn`, `safe`, or `unsafe`, found keyword `const` --> $DIR/ice-120503-async-const-method.rs:7:11 | LL | async const fn bar(&self) { | ------^^^^^ | | | | | expected one of `extern`, `fn`, `safe`, or `unsafe` | help: `const` must come before `async`: `const async` | = note: keyword order for functions declaration is `pub`, `default`, `const`, `async`, `unsafe`, `extern` error[E0379]: functions in trait impls cannot be declared const --> $DIR/ice-120503-async-const-method.rs:7:11 | LL | async const fn bar(&self) { | ^^^^^- | | | functions in trait impls cannot be const | help: remove the `const` error: functions cannot be both `const` and `async` --> $DIR/ice-120503-async-const-method.rs:7:5 | LL | async const fn bar(&self) { | -^^^^ ^^^^^ `const` because of this | | | _____`async` because of this | | LL | | LL | | LL | | ... | LL | | LL | | } | |_____- error[E0407]: method `bar` is not a member of trait `MyTrait` --> $DIR/ice-120503-async-const-method.rs:7:5 | LL | / async const fn bar(&self) { LL | | LL | | LL | | ... | LL | | LL | | } | |_____^ not a member of trait `MyTrait` warning: the feature `effects` is incomplete and may not be safe to use and/or cause compiler crashes --> $DIR/ice-120503-async-const-method.rs:2:12 | LL | #![feature(effects)] | ^^^^^^^ | = note: see issue #102090 for more information = note: `#[warn(incomplete_features)]` on by default error[E0425]: cannot find function `main8` in this scope --> $DIR/ice-120503-async-const-method.rs:13:9 | LL | main8().await; | ^^^^^ help: a function with a similar name exists: `main` ... LL | fn main() {} | --------- similarly named function `main` defined here error[E0391]: cycle detected when computing type of opaque `::bar::{opaque#0}` --> $DIR/ice-120503-async-const-method.rs:7:5 | LL | async const fn bar(&self) { | ^^^^^^^^^^^^^^^^^^^^^^^^^ | note: ...which requires borrow-checking `::bar`... --> $DIR/ice-120503-async-const-method.rs:7:5 | LL | async const fn bar(&self) { | ^^^^^^^^^^^^^^^^^^^^^^^^^ note: ...which requires promoting constants in MIR for `::bar`... --> $DIR/ice-120503-async-const-method.rs:7:5 | LL | async const fn bar(&self) { | ^^^^^^^^^^^^^^^^^^^^^^^^^ note: ...which requires const checking `::bar`... --> $DIR/ice-120503-async-const-method.rs:7:5 | LL | async const fn bar(&self) { | ^^^^^^^^^^^^^^^^^^^^^^^^^ = note: ...which requires computing whether `::bar::{opaque#0}` is freeze... = note: ...which requires evaluating trait selection obligation `::bar::{opaque#0}: core::marker::Freeze`... = note: ...which again requires computing type of opaque `::bar::{opaque#0}`, completing the cycle note: cycle used when computing type of `::bar::{opaque#0}` --> $DIR/ice-120503-async-const-method.rs:7:5 | LL | async const fn bar(&self) { | ^^^^^^^^^^^^^^^^^^^^^^^^^ = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information error: aborting due to 6 previous errors; 1 warning emitted Some errors have detailed explanations: E0379, E0391, E0407, E0425. For more information about an error, try `rustc --explain E0379`.