error[E0657]: `impl Trait` cannot capture higher-ranked lifetime from outer `impl Trait`
  --> $DIR/issue-54895.rs:18:40
   |
LL | fn f() -> impl for<'a> Trait<'a, Out = impl Sized + 'a> {
   |                                        ^^^^^^^^^^^^^--
   |                                        |
   |                                        `impl Trait` implicitly captures all lifetimes in scope
   |
note: lifetime declared here
  --> $DIR/issue-54895.rs:18:20
   |
LL | fn f() -> impl for<'a> Trait<'a, Out = impl Sized + 'a> {
   |                    ^^

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0657`.
