error[E0061]: this function takes 4 arguments but 7 arguments were supplied --> $DIR/issue-97484.rs:12:5 | LL | foo(&&A, B, C, D, E, F, G); | ^^^ - - - - unexpected argument #6 of type `F` | | | | | | | expected `&E`, found `E` | | unexpected argument #3 of type `C` | unexpected argument #2 of type `B` | note: function defined here --> $DIR/issue-97484.rs:9:4 | LL | fn foo(a: &A, d: D, e: &E, g: G) {} | ^^^ ----- ---- ----- ---- help: consider borrowing here | LL | foo(&&A, B, C, D, &E, F, G); | + help: remove the extra arguments | LL - foo(&&A, B, C, D, E, F, G); LL + foo(&&A, D, /* &E */, G); | error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0061`.