26 lines
1.4 KiB
Rust
26 lines
1.4 KiB
Rust
|
// edition:2018
|
||
|
|
||
|
type T0 = const fn(); //~ ERROR an `fn` pointer type cannot be `const`
|
||
|
type T1 = const extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `const`
|
||
|
type T2 = const unsafe extern fn(); //~ ERROR an `fn` pointer type cannot be `const`
|
||
|
type T3 = async fn(); //~ ERROR an `fn` pointer type cannot be `async`
|
||
|
type T4 = async extern fn(); //~ ERROR an `fn` pointer type cannot be `async`
|
||
|
type T5 = async unsafe extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `async`
|
||
|
type T6 = const async unsafe extern "C" fn();
|
||
|
//~^ ERROR an `fn` pointer type cannot be `const`
|
||
|
//~| ERROR an `fn` pointer type cannot be `async`
|
||
|
|
||
|
type FT0 = for<'a> const fn(); //~ ERROR an `fn` pointer type cannot be `const`
|
||
|
type FT1 = for<'a> const extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `const`
|
||
|
type FT2 = for<'a> const unsafe extern fn(); //~ ERROR an `fn` pointer type cannot be `const`
|
||
|
type FT3 = for<'a> async fn(); //~ ERROR an `fn` pointer type cannot be `async`
|
||
|
type FT4 = for<'a> async extern fn(); //~ ERROR an `fn` pointer type cannot be `async`
|
||
|
type FT5 = for<'a> async unsafe extern "C" fn(); //~ ERROR an `fn` pointer type cannot be `async`
|
||
|
type FT6 = for<'a> const async unsafe extern "C" fn();
|
||
|
//~^ ERROR an `fn` pointer type cannot be `const`
|
||
|
//~| ERROR an `fn` pointer type cannot be `async`
|
||
|
|
||
|
fn main() {
|
||
|
let _recovery_witness: () = 0; //~ ERROR mismatched types
|
||
|
}
|