| struct S; | |
| trait D { | |
| type P<T: Copy>; | |
| //~^ NOTE required by this bound in `D::P` | |
| //~| NOTE required by a bound in `D::P` | |
| } | |
| impl D for S { | |
| type P<T: Copy> = (); | |
| } | |
| fn main() { | |
| let _: <S as D>::P<String>; | |
| //~^ ERROR the trait bound `String: Copy` is not satisfied | |
| //~| NOTE the trait `Copy` is not implemented for `String` | |
| } |