Where clause requires too much information

Well, think about it this way:
In the structure definition you say "A,B,C must all fulfill the Default trait".
In the impl block you say " (A,B,C) must implement the default trait ".
Now, since (A,B,C) is a type on its own and just because it is composed of the types A,B,C does not mean A,B,C implement the same traits as it does.

What I read, typically you don't want trait bounds on structs, but only on the implementations that require them.

4 Likes