| //@ run-rustfix | |
| //@ edition:2018 | |
| // Most of items are taken from ./recover-const-async-fn-ptr.rs but this is able to apply rustfix. | |
| pub type T0 = fn(); //~ ERROR an `fn` pointer type cannot be `const` | |
| pub type T1 = extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `const` | |
| pub type T2 = unsafe extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `const` | |
| pub type T3 = fn(); //~ ERROR an `fn` pointer type cannot be `async` | |
| pub type T4 = extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `async` | |
| pub type T5 = unsafe extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `async` | |
| pub type T6 = unsafe extern "C" fn(); | |
| //~^ ERROR an `fn` pointer type cannot be `const` | |
| //~| ERROR an `fn` pointer type cannot be `async` | |
| pub type FTT0 = for<'a> fn(); //~ ERROR an `fn` pointer type cannot be `const` | |
| pub type FTT1 = for<'a> extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `const` | |
| pub type FTT2 = for<'a> unsafe extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `const` | |
| pub type FTT3 = for<'a> fn(); //~ ERROR an `fn` pointer type cannot be `async` | |
| pub type FTT4 = for<'a> extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `async` | |
| pub type FTT5 = for<'a> unsafe extern "C" fn(); | |
| //~^ ERROR an `fn` pointer type cannot be `async` | |
| pub type FTT6 = for<'a> unsafe extern "C" fn(); | |
| //~^ ERROR an `fn` pointer type cannot be `const` | |
| //~| ERROR an `fn` pointer type cannot be `async` | |
| // Tests with qualifiers in the wrong order | |
| pub type W1 = unsafe fn(); | |
| //~^ ERROR an `fn` pointer type cannot be `const` | |
| pub type W2 = unsafe fn(); | |
| //~^ ERROR an `fn` pointer type cannot be `async` | |
| pub type W3 = for<'a> unsafe fn(); | |
| //~^ ERROR an `fn` pointer type cannot be `const` | |
| fn main() {} |