A trait implementation has stricter requirements than the trait definition. Erroneous code example: ```compile_fail,E0276 trait Foo { fn foo(x: T); } impl Foo for bool { fn foo(x: T) where T: Copy {} } ``` Here, all types implementing `Foo` must have a method `foo(x: T)` which can take any type `T`. However, in the `impl` for `bool`, we have added an extra bound that `T` is `Copy`, which isn't compatible with the original trait. Consider removing the bound from the method or adding the bound to the original method definition in the trait.