2020-01-30 00:18:54 +01:00
|
|
|
// Ensures that all `fn` forms can have all the function qualifiers syntactically.
|
|
|
|
|
|
|
|
// check-pass
|
|
|
|
// edition:2018
|
|
|
|
|
|
|
|
fn main() {}
|
|
|
|
|
|
|
|
#[cfg(FALSE)]
|
|
|
|
fn syntax() {
|
|
|
|
async fn f();
|
|
|
|
unsafe fn f();
|
|
|
|
const fn f();
|
|
|
|
extern "C" fn f();
|
2020-01-30 13:02:06 +01:00
|
|
|
const async unsafe extern "C" fn f();
|
2020-01-30 00:18:54 +01:00
|
|
|
|
|
|
|
trait X {
|
|
|
|
async fn f();
|
|
|
|
unsafe fn f();
|
|
|
|
const fn f();
|
|
|
|
extern "C" fn f();
|
2020-01-30 08:31:31 +01:00
|
|
|
const async unsafe extern "C" fn f();
|
2020-01-30 00:18:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
impl X for Y {
|
|
|
|
async fn f();
|
|
|
|
unsafe fn f();
|
|
|
|
const fn f();
|
|
|
|
extern "C" fn f();
|
2020-01-30 08:31:31 +01:00
|
|
|
const async unsafe extern "C" fn f();
|
2020-01-30 00:18:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
impl Y {
|
|
|
|
async fn f();
|
|
|
|
unsafe fn f();
|
|
|
|
const fn f();
|
|
|
|
extern "C" fn f();
|
2020-01-30 08:31:31 +01:00
|
|
|
const async unsafe extern "C" fn f();
|
2020-01-30 00:18:54 +01:00
|
|
|
}
|
|
|
|
|
2020-09-01 17:12:52 -04:00
|
|
|
extern "C" {
|
|
|
|
fn f();
|
|
|
|
fn f();
|
|
|
|
fn f();
|
|
|
|
fn f();
|
|
|
|
fn f();
|
2020-01-30 00:18:54 +01:00
|
|
|
}
|
|
|
|
}
|