There are both a positive and negative trait implementation for the same type.

Erroneous code example:

trait MyTrait {}
impl MyTrait for i32 { }
impl !MyTrait for i32 { } // error!

Negative implementations are a promise that the trait will never be implemented for the given types. Therefore, both cannot exist at the same time.