error[E0593]: function is expected to take 1 argument, but it takes 2 arguments --> $DIR/issue-47706.rs:11:22 | LL | pub fn new(foo: Option, _: ()) -> Foo { | ------------------------------------------ takes 2 arguments ... LL | self.foo.map(Foo::new) | ^^^^^^^^ expected function that takes 1 argument error[E0593]: function is expected to take 0 arguments, but it takes 1 argument --> $DIR/issue-47706.rs:27:9 | LL | Bar(i32), | -------- takes 1 argument ... LL | fn foo(f: F) | --- required by a bound in this LL | where LL | F: Fn(), | ---- required by this bound in `foo` ... LL | foo(Qux::Bar); | ^^^^^^^^ expected function that takes 0 arguments error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0593`.