error: function pointer types may not have generic parameters --> $DIR/recover-fn-ptr-with-generics.rs:2:24 | LL | type Predicate = fn<'a>(&'a str) -> bool; | ^^^^ | help: consider moving the lifetime parameter to a `for` parameter list | LL - type Predicate = fn<'a>(&'a str) -> bool; LL + type Predicate = for<'a> fn(&'a str) -> bool; | error: function pointer types may not have generic parameters --> $DIR/recover-fn-ptr-with-generics.rs:5:23 | LL | type Identity = fn(T) -> T; | ^^^ error: function pointer types may not have generic parameters --> $DIR/recover-fn-ptr-with-generics.rs:10:14 | LL | let _: fn(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | help: consider moving the lifetime parameters to a `for` parameter list | LL - let _: fn(); LL + let _: for<'e, 'f> fn(); | error: function pointer types may not have generic parameters --> $DIR/recover-fn-ptr-with-generics.rs:13:26 | LL | let _: for<'outer> fn<'inner>(); | ^^^^^^^^ | help: consider moving the lifetime parameter to the `for` parameter list | LL - let _: for<'outer> fn<'inner>(); LL + let _: for<'outer, 'inner> fn(); | error: function pointer types may not have generic parameters --> $DIR/recover-fn-ptr-with-generics.rs:16:20 | LL | let _: for<> fn<'r>(); | ^^^^ | help: consider moving the lifetime parameter to the `for` parameter list | LL - let _: for<> fn<'r>(); LL + let _: for<'r> fn(); | error: function pointer types may not have generic parameters --> $DIR/recover-fn-ptr-with-generics.rs:19:18 | LL | type Hmm = fn<>(); | ^^ error: function pointer types may not have generic parameters --> $DIR/recover-fn-ptr-with-generics.rs:22:21 | LL | let _: extern fn<'a: 'static>(); | ^^^^^^^^^^^^^ | help: consider moving the lifetime parameter to a `for` parameter list | LL - let _: extern fn<'a: 'static>(); LL + let _: for<'a> extern fn(); | error: function pointer types may not have generic parameters --> $DIR/recover-fn-ptr-with-generics.rs:26:35 | LL | let _: for<'any> extern "C" fn<'u>(); | ^^^^ | help: consider moving the lifetime parameter to the `for` parameter list | LL - let _: for<'any> extern "C" fn<'u>(); LL + let _: for<'any, 'u> extern "C" fn(); | error: expected identifier, found `>` --> $DIR/recover-fn-ptr-with-generics.rs:29:32 | LL | type QuiteBroken = fn(); | ^ expected identifier error[E0412]: cannot find type `T` in this scope --> $DIR/recover-fn-ptr-with-generics.rs:5:27 | LL | type Identity = fn(T) -> T; | ^ not found in this scope error[E0412]: cannot find type `T` in this scope --> $DIR/recover-fn-ptr-with-generics.rs:5:33 | LL | type Identity = fn(T) -> T; | ^ not found in this scope error: bounds cannot be used in this context --> $DIR/recover-fn-ptr-with-generics.rs:22:26 | LL | let _: extern fn<'a: 'static>(); | ^^^^^^^ error: aborting due to 12 previous errors For more information about this error, try `rustc --explain E0412`.