error[E0277]: the trait bound `T: Bound` is not satisfied
  --> $DIR/issue-21837.rs:8:20
   |
LL | impl<T> Trait2 for Foo<T> {}
   |                    ^^^^^^ the trait `Bound` is not implemented for `T`
   |
note: required by a bound in `Foo`
  --> $DIR/issue-21837.rs:2:19
   |
LL | pub struct Foo<T: Bound>(T);
   |                   ^^^^^ required by this bound in `Foo`
help: consider restricting type parameter `T`
   |
LL | impl<T: Bound> Trait2 for Foo<T> {}
   |       +++++++

error: aborting due to previous error

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