I think this might be clear as one of

1. `"cannot implement built-in trait {} on a type that isn't struct or enum"`
2. `"can only implement built-in trait {} on a struct or enum"`

(where the `{}` is the name of the trait.)

I'm not sure which way we want to phrase it in, i.e., as "this is what you did wrong" (1), or "this is what you should be doing (2).