2020-01-29 23:18:54 +00: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 12:02:06 +00:00
|
|
|
const async unsafe extern "C" fn f();
|
2020-01-29 23:18:54 +00:00
|
|
|
|
|
|
|
trait X {
|
|
|
|
async fn f();
|
|
|
|
unsafe fn f();
|
|
|
|
const fn f();
|
|
|
|
extern "C" fn f();
|
2020-01-30 07:31:31 +00:00
|
|
|
const async unsafe extern "C" fn f();
|
2020-01-29 23:18:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
impl X for Y {
|
|
|
|
async fn f();
|
|
|
|
unsafe fn f();
|
|
|
|
const fn f();
|
|
|
|
extern "C" fn f();
|
2020-01-30 07:31:31 +00:00
|
|
|
const async unsafe extern "C" fn f();
|
2020-01-29 23:18:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
impl Y {
|
|
|
|
async fn f();
|
|
|
|
unsafe fn f();
|
|
|
|
const fn f();
|
|
|
|
extern "C" fn f();
|
2020-01-30 07:31:31 +00:00
|
|
|
const async unsafe extern "C" fn f();
|
2020-01-29 23:18:54 +00:00
|
|
|
}
|
|
|
|
|
2020-09-01 21:12:52 +00:00
|
|
|
extern "C" {
|
|
|
|
fn f();
|
|
|
|
fn f();
|
|
|
|
fn f();
|
|
|
|
fn f();
|
|
|
|
fn f();
|
2020-01-29 23:18:54 +00:00
|
|
|
}
|
|
|
|
}
|