error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
  --> $DIR/arbitrary_self_types_pin_lifetime_impl_trait.rs:6:31
   |
LL |     fn f(self: Pin<&Self>) -> impl Clone { self }
   |                    -----      ^^^^^^^^^^
   |                    |
   |                    hidden type `Pin<&Foo>` captures the anonymous lifetime defined here
   |
help: to declare that the `impl Trait` captures '_, you can add an explicit `'_` lifetime bound
   |
LL |     fn f(self: Pin<&Self>) -> impl Clone + '_ { self }
   |                                          ++++

error: aborting due to previous error

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