| //@ 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() {} |