rust/tests/ui/parser/recover/recover-fn-ptr-with-generics.rs
2023-12-21 10:17:11 +08:00

32 lines
1.1 KiB
Rust

fn main() {
type Predicate = fn<'a>(&'a str) -> bool;
//~^ ERROR function pointer types may not have generic parameters
type Identity = fn<T>(T) -> T;
//~^ ERROR function pointer types may not have generic parameters
//~| ERROR cannot find type `T` in this scope
//~| ERROR cannot find type `T` in this scope
let _: fn<const N: usize, 'e, Q, 'f>();
//~^ ERROR function pointer types may not have generic parameters
let _: for<'outer> fn<'inner>();
//~^ ERROR function pointer types may not have generic parameters
let _: for<> fn<'r>();
//~^ ERROR function pointer types may not have generic parameters
type Hmm = fn<>();
//~^ ERROR function pointer types may not have generic parameters
let _: extern fn<'a: 'static>();
//~^ ERROR function pointer types may not have generic parameters
//~| ERROR bounds cannot be used in this context
let _: for<'any> extern "C" fn<'u>();
//~^ ERROR function pointer types may not have generic parameters
type QuiteBroken = fn<const>();
//~^ ERROR expected identifier, found `>`
}