// 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(); const async unsafe extern "C" fn f(); trait X { async fn f(); unsafe fn f(); const fn f(); extern "C" fn f(); const async unsafe extern "C" fn f(); } impl X for Y { async fn f(); unsafe fn f(); const fn f(); extern "C" fn f(); const async unsafe extern "C" fn f(); } impl Y { async fn f(); unsafe fn f(); const fn f(); extern "C" fn f(); const async unsafe extern "C" fn f(); } extern "C" { fn f(); fn f(); fn f(); fn f(); fn f(); } }