error[E0061]: this function takes 6 arguments but 7 arguments were supplied --> $DIR/issue-101097.rs:16:5 | LL | f(C, A, A, A, B, B, C); | ^ - - - - expected `C`, found `B` | | | | | | | argument of type `A` unexpected | | expected `B`, found `A` | expected `A`, found `C` | note: function defined here --> $DIR/issue-101097.rs:6:4 | LL | fn f( | ^ LL | a1: A, | ----- LL | a2: A, | ----- LL | b1: B, | ----- LL | b2: B, | ----- LL | c1: C, | ----- LL | c2: C, | ----- help: did you mean | LL | f(A, A, B, B, C, C); | ~~~~~~~~~~~~~~~~~~ error[E0308]: arguments to this function are incorrect --> $DIR/issue-101097.rs:17:5 | LL | f(C, C, A, A, B, B); | ^ | note: function defined here --> $DIR/issue-101097.rs:6:4 | LL | fn f( | ^ LL | a1: A, | ----- LL | a2: A, | ----- LL | b1: B, | ----- LL | b2: B, | ----- LL | c1: C, | ----- LL | c2: C, | ----- help: did you mean | LL | f(A, A, B, B, C, C); | ~~~~~~~~~~~~~~~~~~ error[E0308]: arguments to this function are incorrect --> $DIR/issue-101097.rs:18:5 | LL | f(A, A, D, D, B, B); | ^ - - ---- two arguments of type `C` and `C` are missing | | | | | argument of type `D` unexpected | argument of type `D` unexpected | note: function defined here --> $DIR/issue-101097.rs:6:4 | LL | fn f( | ^ LL | a1: A, | ----- LL | a2: A, | ----- LL | b1: B, | ----- LL | b2: B, | ----- LL | c1: C, | ----- LL | c2: C, | ----- help: did you mean | LL | f(A, A, B, B, /* C */, /* C */); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error[E0308]: arguments to this function are incorrect --> $DIR/issue-101097.rs:19:5 | LL | f(C, C, B, B, A, A); | ^ - - - - expected `C`, found `A` | | | | | | | expected `C`, found `A` | | expected `A`, found `C` | expected `A`, found `C` | note: function defined here --> $DIR/issue-101097.rs:6:4 | LL | fn f( | ^ LL | a1: A, | ----- LL | a2: A, | ----- LL | b1: B, | ----- LL | b2: B, | ----- LL | c1: C, | ----- LL | c2: C, | ----- help: did you mean | LL | f(A, A, B, B, C, C); | ~~~~~~~~~~~~~~~~~~ error[E0308]: arguments to this function are incorrect --> $DIR/issue-101097.rs:20:5 | LL | f(C, C, A, B, A, A); | ^ - - - - - expected `C`, found `A` | | | | | | | | | expected `C`, found `A` | | | expected struct `B`, found struct `A` | | expected `A`, found `C` | expected `A`, found `C` | note: function defined here --> $DIR/issue-101097.rs:6:4 | LL | fn f( | ^ LL | a1: A, | ----- LL | a2: A, | ----- LL | b1: B, | ----- LL | b2: B, | ----- LL | c1: C, | ----- LL | c2: C, | ----- help: did you mean | LL | f(A, A, /* B */, B, C, C); | ~~~~~~~~~~~~~~~~~~~~~~~~ error: aborting due to 5 previous errors Some errors have detailed explanations: E0061, E0308. For more information about an error, try `rustc --explain E0061`.