//! Checks variations of E0057, which is the incorrect number of agruments passed into a closure //@ check-fail fn foo(t: T) { t(1i32); //~^ ERROR function takes 0 arguments but 1 argument was supplied } /// Regression test for fn foo2(f: T) { |t| f(t); //~^ ERROR function takes 0 arguments but 1 argument was supplied } fn bar(t: impl Fn()) { t(1i32); //~^ ERROR function takes 0 arguments but 1 argument was supplied } fn baz() -> impl Fn() { || {} } fn baz2() { baz()(1i32) //~^ ERROR function takes 0 arguments but 1 argument was supplied } fn qux() { let x = || {}; x(1i32); //~^ ERROR function takes 0 arguments but 1 argument was supplied } fn main() {}