2024-02-16 20:02:50 +00:00
|
|
|
//@ run-rustfix
|
|
|
|
|
//@ edition:2018
|
2020-07-02 14:32:12 +09:00
|
|
|
// Most of items are taken from ./recover-const-async-fn-ptr.rs but this is able to apply rustfix.
|
|
|
|
|
|
2024-11-17 21:02:05 +00:00
|
|
|
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();
|
2020-07-02 14:32:12 +09:00
|
|
|
//~^ ERROR an `fn` pointer type cannot be `const`
|
|
|
|
|
//~| ERROR an `fn` pointer type cannot be `async`
|
|
|
|
|
|
2024-11-17 21:02:05 +00:00
|
|
|
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();
|
2020-07-02 14:32:12 +09:00
|
|
|
//~^ ERROR an `fn` pointer type cannot be `async`
|
2024-11-17 21:02:05 +00:00
|
|
|
pub type FTT6 = for<'a> unsafe extern "C" fn();
|
2020-07-02 14:32:12 +09:00
|
|
|
//~^ ERROR an `fn` pointer type cannot be `const`
|
|
|
|
|
//~| ERROR an `fn` pointer type cannot be `async`
|
|
|
|
|
|
2025-06-10 19:18:31 +02:00
|
|
|
// 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`
|
|
|
|
|
|
2020-07-02 14:32:12 +09:00
|
|
|
fn main() {}
|