error[E0308]: mismatched types --> $DIR/overloaded-calls-bad.rs:33:17 | LL | let ans = s("what"); | - ^^^^^^ expected `isize`, found `&str` | | | arguments to this function are incorrect | note: implementation defined here --> $DIR/overloaded-calls-bad.rs:10:1 | LL | impl FnMut<(isize,)> for S { | ^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0057]: this function takes 1 argument but 0 arguments were supplied --> $DIR/overloaded-calls-bad.rs:35:15 | LL | let ans = s(); | ^-- an argument of type `isize` is missing | note: implementation defined here --> $DIR/overloaded-calls-bad.rs:10:1 | LL | impl FnMut<(isize,)> for S { | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: provide the argument | LL | let ans = s(/* isize */); | ~~~~~~~~~~~~~ error[E0057]: this function takes 1 argument but 2 arguments were supplied --> $DIR/overloaded-calls-bad.rs:37:15 | LL | let ans = s("burma", "shave"); | ^ ------- ------- unexpected argument of type `&'static str` | | | expected `isize`, found `&str` | note: implementation defined here --> $DIR/overloaded-calls-bad.rs:10:1 | LL | impl FnMut<(isize,)> for S { | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the extra argument | LL - let ans = s("burma", "shave"); LL + let ans = s(/* isize */); | error[E0308]: mismatched types --> $DIR/overloaded-calls-bad.rs:40:7 | LL | F(""); | - ^^ expected `i32`, found `&str` | | | arguments to this struct are incorrect | note: implementation defined here --> $DIR/overloaded-calls-bad.rs:25:1 | LL | impl FnOnce<(i32,)> for F { | ^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to 4 previous errors Some errors have detailed explanations: E0057, E0308. For more information about an error, try `rustc --explain E0057`.