| struct A<T>(T); | |
| struct B; | |
| trait I<T> {} | |
| impl I<i32> for B {} | |
| impl I<u32> for B {} | |
| trait V<U> { | |
| fn method(self) -> U; | |
| } | |
| impl<T, U> V<U> for A<T> | |
| where | |
| T: I<U>, | |
| { | |
| fn method(self) -> U { unimplemented!() } | |
| } | |
| fn main() { | |
| let a = A(B); | |
| a.method(); //~ ERROR type annotations needed | |
| } |