| error[E0106]: missing lifetime specifier |
| --> $DIR/impl-fn-hrtb-bounds.rs:20:38 |
| | |
| LL | fn d() -> impl Fn() -> (impl Debug + '_) { |
| | ^^ expected named lifetime parameter |
| | |
| = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from |
| help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values |
| | |
| LL | fn d() -> impl Fn() -> (impl Debug + 'static) { |
| | ~~~~~~~ |
| |
| warning: elided lifetime has a name |
| --> $DIR/impl-fn-hrtb-bounds.rs:14:52 |
| | |
| LL | fn c() -> impl for<'a> Fn(&'a u8) -> (impl Debug + '_) { |
| | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` |
| | |
| = note: `#[warn(elided_named_lifetimes)]` on by default |
| |
| error[E0657]: `impl Trait` cannot capture higher-ranked lifetime from outer `impl Trait` |
| --> $DIR/impl-fn-hrtb-bounds.rs:4:41 |
| | |
| LL | fn a() -> impl Fn(&u8) -> (impl Debug + '_) { |
| | ^^ |
| | |
| note: lifetime declared here |
| --> $DIR/impl-fn-hrtb-bounds.rs:4:19 |
| | |
| LL | fn a() -> impl Fn(&u8) -> (impl Debug + '_) { |
| | ^ |
| |
| error[E0657]: `impl Trait` cannot capture higher-ranked lifetime from outer `impl Trait` |
| --> $DIR/impl-fn-hrtb-bounds.rs:9:52 |
| | |
| LL | fn b() -> impl for<'a> Fn(&'a u8) -> (impl Debug + 'a) { |
| | ^^ |
| | |
| note: lifetime declared here |
| --> $DIR/impl-fn-hrtb-bounds.rs:9:20 |
| | |
| LL | fn b() -> impl for<'a> Fn(&'a u8) -> (impl Debug + 'a) { |
| | ^^ |
| |
| error[E0657]: `impl Trait` cannot capture higher-ranked lifetime from outer `impl Trait` |
| --> $DIR/impl-fn-hrtb-bounds.rs:14:52 |
| | |
| LL | fn c() -> impl for<'a> Fn(&'a u8) -> (impl Debug + '_) { |
| | ^^ |
| | |
| note: lifetime declared here |
| --> $DIR/impl-fn-hrtb-bounds.rs:14:20 |
| | |
| LL | fn c() -> impl for<'a> Fn(&'a u8) -> (impl Debug + '_) { |
| | ^^ |
| |
| error: aborting due to 4 previous errors; 1 warning emitted |
| |
| Some errors have detailed explanations: E0106, E0657. |
| For more information about an error, try `rustc --explain E0106`. |