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); | ^^^ - - - - argument of type `F` unexpected | | | | | | | expected `&E`, found struct `E` | | argument of type `C` unexpected | argument of type `B` unexpected | 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, D, /* &E */, G); | ~~~~~~~~~~~~~~~~~~~~~ error: aborting due to previous error For more information about this error, try `rustc --explain E0061`.