|  | 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` | 
|  | |       |     |  | | 
|  | |       |     |  unexpected argument #4 of type `A` | 
|  | |       |     expected `B`, found `A` | 
|  | |       expected `A`, found `C` | 
|  | | | 
|  | note: function defined here | 
|  | --> $DIR/issue-101097.rs:6:4 | 
|  | | | 
|  | LL | fn f( | 
|  | |    ^ | 
|  | help: did you mean | 
|  | | | 
|  | LL -     f(C, A, A, A, B, B, C); | 
|  | 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( | 
|  | |    ^ | 
|  | help: did you mean | 
|  | | | 
|  | LL -     f(C, C, A, A, B, B); | 
|  | 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 | 
|  | |             |  | | 
|  | |             |  unexpected argument #4 of type `D` | 
|  | |             unexpected argument #3 of type `D` | 
|  | | | 
|  | note: function defined here | 
|  | --> $DIR/issue-101097.rs:6:4 | 
|  | | | 
|  | LL | fn f( | 
|  | |    ^ | 
|  | ... | 
|  | LL |     c1: C, | 
|  | |     ----- | 
|  | LL |     c2: C, | 
|  | |     ----- | 
|  | help: did you mean | 
|  | | | 
|  | LL -     f(A, A, D, D, B, B); | 
|  | 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( | 
|  | |    ^ | 
|  | help: did you mean | 
|  | | | 
|  | LL -     f(C, C, B, B, A, A); | 
|  | 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 `B`, found `A` | 
|  | |       |  expected `A`, found `C` | 
|  | |       expected `A`, found `C` | 
|  | | | 
|  | note: function defined here | 
|  | --> $DIR/issue-101097.rs:6:4 | 
|  | | | 
|  | LL | fn f( | 
|  | |    ^ | 
|  | ... | 
|  | LL |     b1: B, | 
|  | |     ----- | 
|  | help: did you mean | 
|  | | | 
|  | LL -     f(C, C, A, B, A, A); | 
|  | 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`. |