]> git.lizzy.rs Git - rust.git/blob - tests/ui/parser/bad-fn-ptr-qualifier.rs
Auto merge of #107688 - lukas-code:projection-with-lifetime, r=jackh726
[rust.git] / tests / ui / parser / bad-fn-ptr-qualifier.rs
1 // run-rustfix
2 // edition:2018
3 // Most of items are taken from ./recover-const-async-fn-ptr.rs but this is able to apply rustfix.
4
5 pub type T0 = const fn(); //~ ERROR an `fn` pointer type cannot be `const`
6 pub type T1 = const extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `const`
7 pub type T2 = const unsafe extern fn(); //~ ERROR an `fn` pointer type cannot be `const`
8 pub type T3 = async fn(); //~ ERROR an `fn` pointer type cannot be `async`
9 pub type T4 = async extern fn(); //~ ERROR an `fn` pointer type cannot be `async`
10 pub type T5 = async unsafe extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `async`
11 pub type T6 = const async unsafe extern "C" fn();
12 //~^ ERROR an `fn` pointer type cannot be `const`
13 //~| ERROR an `fn` pointer type cannot be `async`
14
15 pub type FTT0 = for<'a> const fn(); //~ ERROR an `fn` pointer type cannot be `const`
16 pub type FTT1 = for<'a> const extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `const`
17 pub type FTT2 = for<'a> const unsafe extern fn(); //~ ERROR an `fn` pointer type cannot be `const`
18 pub type FTT3 = for<'a> async fn(); //~ ERROR an `fn` pointer type cannot be `async`
19 pub type FTT4 = for<'a> async extern fn(); //~ ERROR an `fn` pointer type cannot be `async`
20 pub type FTT5 = for<'a> async unsafe extern "C" fn();
21 //~^ ERROR an `fn` pointer type cannot be `async`
22 pub type FTT6 = for<'a> const async unsafe extern "C" fn();
23 //~^ ERROR an `fn` pointer type cannot be `const`
24 //~| ERROR an `fn` pointer type cannot be `async`
25
26 fn main() {}