trait Foo { fn dummy(&self, t: T) { } } trait Bar { fn method(&self) where A: Foo; } struct S; struct X; // Remove this impl causing the below resolution to fail // impl Foo for X {} impl Bar for isize { fn method(&self) where X: Foo { } } fn main() { 1.method::(); //~^ ERROR the trait bound `X: Foo` is not satisfied }