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 unexpected | | | | | argument of type `&E` unexpected | argument of type `D` unexpected | note: function defined here --> $DIR/issue-97484.rs:9:4 | LL | fn foo(a: &A, d: D, e: &E, g: G) {} | ^^^ ----- ---- ----- ---- help: consider removing the `` | LL - foo(&&A, B, C, D, E, F, G); 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`.