error[E0277]: the trait bound `S: std::marker::Copy` is not satisfied in `(S, T)`
  --> $DIR/issue-55872-1.rs:12:5
   |
LL | impl<S: Default> Bar for S {
   |      -- help: consider further restricting this bound: `S: std::marker::Copy +`
LL |     type E = impl Copy;
   |     ^^^^^^^^^^^^^^^^^^^ within `(S, T)`, the trait `std::marker::Copy` is not implemented for `S`
   |
   = note: required because it appears within the type `(S, T)`
   = note: the return type of a function must have a statically known size

error[E0277]: the trait bound `T: std::marker::Copy` is not satisfied in `(S, T)`
  --> $DIR/issue-55872-1.rs:12:5
   |
LL |     type E = impl Copy;
   |     ^^^^^^^^^^^^^^^^^^^ within `(S, T)`, the trait `std::marker::Copy` is not implemented for `T`
...
LL |     fn foo<T: Default>() -> Self::E {
   |            -- help: consider further restricting this bound: `T: std::marker::Copy +`
   |
   = note: required because it appears within the type `(S, T)`
   = note: the return type of a function must have a statically known size

error: type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias
  --> $DIR/issue-55872-1.rs:16:37
   |
LL |       fn foo<T: Default>() -> Self::E {
   |  _____________________________________^
LL | |
LL | |         (S::default(), T::default())
LL | |     }
   | |_____^

error: aborting due to 3 previous errors

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