1 error: `Fn` traits cannot take lifetime parameters
2 --> $DIR/hrtb-malformed-lifetime-generics.rs:4:17
4 LL | fn fa(_: impl Fn<'a>(&'a str) -> bool) {}
7 help: consider using a higher-ranked trait bound instead
9 LL - fn fa(_: impl Fn<'a>(&'a str) -> bool) {}
10 LL + fn fa(_: impl for<'a> Fn(&'a str) -> bool) {}
13 error: `Fn` traits cannot take lifetime parameters
14 --> $DIR/hrtb-malformed-lifetime-generics.rs:7:20
16 LL | fn fb(_: impl FnMut<'a, 'b>(&'a str, &'b str) -> bool) {}
19 help: consider using a higher-ranked trait bound instead
21 LL - fn fb(_: impl FnMut<'a, 'b>(&'a str, &'b str) -> bool) {}
22 LL + fn fb(_: impl for<'a, 'b> FnMut(&'a str, &'b str) -> bool) {}
25 error: `Fn` traits cannot take lifetime parameters
26 --> $DIR/hrtb-malformed-lifetime-generics.rs:10:41
28 LL | fn fc(_: impl std::fmt::Display + FnOnce<'a>(&'a str) -> bool + std::fmt::Debug) {}
31 help: consider using a higher-ranked trait bound instead
33 LL - fn fc(_: impl std::fmt::Display + FnOnce<'a>(&'a str) -> bool + std::fmt::Debug) {}
34 LL + fn fc(_: impl std::fmt::Display + for<'a> FnOnce(&'a str) -> bool + std::fmt::Debug) {}
37 error: `Fn` traits cannot take lifetime parameters
38 --> $DIR/hrtb-malformed-lifetime-generics.rs:14:24
40 LL | fn fd(_: impl AliasedFn<'a>(&'a str) -> bool) {}
43 help: consider using a higher-ranked trait bound instead
45 LL - fn fd(_: impl AliasedFn<'a>(&'a str) -> bool) {}
46 LL + fn fd(_: impl for<'a> AliasedFn(&'a str) -> bool) {}
49 error: `Fn` traits cannot take lifetime parameters
50 --> $DIR/hrtb-malformed-lifetime-generics.rs:17:27
52 LL | fn fe<F>(_: F) where F: Fn<'a>(&'a str) -> bool {}
55 help: consider using a higher-ranked trait bound instead
57 LL - fn fe<F>(_: F) where F: Fn<'a>(&'a str) -> bool {}
58 LL + fn fe<F>(_: F) where F: for<'a> Fn(&'a str) -> bool {}
61 error: aborting due to 5 previous errors