//@ run-rustfix fn e0658(f: F, g: G, h: H) -> i32 where F: Fn(i32) -> i32, //~ ERROR E0658 //~^ ERROR E0059 G: Fn(i32, i32) -> (i32, i32), //~ ERROR E0658 H: Fn(i32) -> i32, //~ ERROR E0658 { f(3); //~^ ERROR: cannot use call notation //~| ERROR: `i32` is not a tuple g(3, 4); h(3) } fn main() { e0658( //~ ERROR: mismatched types |a| a, |a, b| (b, a), |a| a, ); }