trait Trait { type P; } impl Trait for () { type P = (); } fn main() { let _: <() as Trait>::P; //~^ ERROR the trait bound `String: Copy` is not satisfied }