error: functions cannot be both `const` and `async` --> $DIR/fn-header-semantic-fail.rs:13:5 | LL | const async unsafe extern "C" fn ff5() {} // OK. | ^^^^^-^^^^^------------------------------ | | | | | `async` because of this | `const` because of this error[E0706]: functions in traits cannot be declared `async` --> $DIR/fn-header-semantic-fail.rs:18:9 | LL | async fn ft1(); | -----^^^^^^^^^^ | | | `async` because of this | = note: `async` trait functions are not currently supported = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait error[E0379]: functions in traits cannot be declared const --> $DIR/fn-header-semantic-fail.rs:20:9 | LL | const fn ft3(); | ^^^^^ functions in traits cannot be const error[E0379]: functions in traits cannot be declared const --> $DIR/fn-header-semantic-fail.rs:22:9 | LL | const async unsafe extern "C" fn ft5(); | ^^^^^ functions in traits cannot be const error[E0706]: functions in traits cannot be declared `async` --> $DIR/fn-header-semantic-fail.rs:22:9 | LL | const async unsafe extern "C" fn ft5(); | ^^^^^^-----^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | `async` because of this | = note: `async` trait functions are not currently supported = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait error: functions cannot be both `const` and `async` --> $DIR/fn-header-semantic-fail.rs:22:9 | LL | const async unsafe extern "C" fn ft5(); | ^^^^^-^^^^^---------------------------- | | | | | `async` because of this | `const` because of this error[E0706]: functions in traits cannot be declared `async` --> $DIR/fn-header-semantic-fail.rs:30:9 | LL | async fn ft1() {} | -----^^^^^^^^^^^^ | | | `async` because of this | = note: `async` trait functions are not currently supported = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait error[E0379]: functions in traits cannot be declared const --> $DIR/fn-header-semantic-fail.rs:33:9 | LL | const fn ft3() {} | ^^^^^ functions in traits cannot be const error[E0379]: functions in traits cannot be declared const --> $DIR/fn-header-semantic-fail.rs:35:9 | LL | const async unsafe extern "C" fn ft5() {} | ^^^^^ functions in traits cannot be const error[E0706]: functions in traits cannot be declared `async` --> $DIR/fn-header-semantic-fail.rs:35:9 | LL | const async unsafe extern "C" fn ft5() {} | ^^^^^^-----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | `async` because of this | = note: `async` trait functions are not currently supported = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait error: functions cannot be both `const` and `async` --> $DIR/fn-header-semantic-fail.rs:35:9 | LL | const async unsafe extern "C" fn ft5() {} | ^^^^^-^^^^^------------------------------ | | | | | `async` because of this | `const` because of this error: functions cannot be both `const` and `async` --> $DIR/fn-header-semantic-fail.rs:48:9 | LL | const async unsafe extern "C" fn fi5() {} | ^^^^^-^^^^^------------------------------ | | | | | `async` because of this | `const` because of this error: functions in `extern` blocks cannot have qualifiers --> $DIR/fn-header-semantic-fail.rs:54:18 | LL | extern { | ------ in this `extern` block LL | async fn fe1(); | ---------^^^ | | | help: remove the qualifiers: `fn` error: functions in `extern` blocks cannot have qualifiers --> $DIR/fn-header-semantic-fail.rs:55:19 | LL | extern { | ------ in this `extern` block LL | async fn fe1(); LL | unsafe fn fe2(); | ----------^^^ | | | help: remove the qualifiers: `fn` error: functions in `extern` blocks cannot have qualifiers --> $DIR/fn-header-semantic-fail.rs:56:18 | LL | extern { | ------ in this `extern` block ... LL | const fn fe3(); | ---------^^^ | | | help: remove the qualifiers: `fn` error: functions in `extern` blocks cannot have qualifiers --> $DIR/fn-header-semantic-fail.rs:57:23 | LL | extern { | ------ in this `extern` block ... LL | extern "C" fn fe4(); | --------------^^^ | | | help: remove the qualifiers: `fn` error: functions in `extern` blocks cannot have qualifiers --> $DIR/fn-header-semantic-fail.rs:58:42 | LL | extern { | ------ in this `extern` block ... LL | const async unsafe extern "C" fn fe5(); | ---------------------------------^^^ | | | help: remove the qualifiers: `fn` error: functions cannot be both `const` and `async` --> $DIR/fn-header-semantic-fail.rs:58:9 | LL | const async unsafe extern "C" fn fe5(); | ^^^^^-^^^^^---------------------------- | | | | | `async` because of this | `const` because of this error: `from_generator` is not yet stable as a const fn --> $DIR/fn-header-semantic-fail.rs:13:44 | LL | const async unsafe extern "C" fn ff5() {} // OK. | ^^ | = help: add `#![feature(gen_future)]` to the crate attributes to enable error[E0053]: method `ft1` has an incompatible type for trait --> $DIR/fn-header-semantic-fail.rs:30:24 | LL | async fn ft1(); | - type in trait ... LL | async fn ft1() {} | ^ | | | the `Output` of this `async fn`'s found opaque type | expected `()`, found opaque type | = note: expected fn pointer `fn()` found fn pointer `fn() -> impl Future` error[E0053]: method `ft5` has an incompatible type for trait --> $DIR/fn-header-semantic-fail.rs:35:48 | LL | const async unsafe extern "C" fn ft5(); | - type in trait ... LL | const async unsafe extern "C" fn ft5() {} | ^ | | | the `Output` of this `async fn`'s found opaque type | expected `()`, found opaque type | = note: expected fn pointer `unsafe extern "C" fn()` found fn pointer `unsafe extern "C" fn() -> impl Future` error: `from_generator` is not yet stable as a const fn --> $DIR/fn-header-semantic-fail.rs:35:48 | LL | const async unsafe extern "C" fn ft5() {} | ^^ | = help: add `#![feature(gen_future)]` to the crate attributes to enable error: `from_generator` is not yet stable as a const fn --> $DIR/fn-header-semantic-fail.rs:48:48 | LL | const async unsafe extern "C" fn fi5() {} | ^^ | = help: add `#![feature(gen_future)]` to the crate attributes to enable error: aborting due to 23 previous errors Some errors have detailed explanations: E0053, E0379, E0706. For more information about an error, try `rustc --explain E0053`.