error[E0371]: the object type `(dyn Foo + 'a)` automatically implements the trait `Foo`
  --> $DIR/issue-20939.rs:3:1
   |
LL | impl<'a> Foo for dyn Foo + 'a {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn Foo + 'a)` automatically implements trait `Foo`

error: aborting due to previous error

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