struct Thing(X); trait Method { fn method(self, _: i32) -> T; } impl Method for Thing { fn method(self, _: i32) -> i32 { 0 } } impl Method for Thing { fn method(self, _: i32) -> u32 { 0 } } fn main() { let thing = Thing(true); thing.method(42); //~^ ERROR type annotations needed //~| ERROR type annotations needed }