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