struct S(Option<(A, B)>); impl S { fn infer(&self, a: A, b: B) {} //~^ NOTE method defined here //~| NOTE //~| NOTE } fn main() { let s = S(None); s.infer(0i32); //~^ ERROR this method takes 2 arguments but 1 argument was supplied //~| NOTE an argument is missing //~| HELP provide the argument let t: S = s; //~^ ERROR mismatched types //~| NOTE expected `S`, found `S` //~| NOTE expected due to this //~| NOTE expected struct `S` }