1 error[E0061]: this function takes 3 arguments but 1 argument was supplied
2 --> $DIR/issue-100478.rs:34:5
4 LL | three_diff(T2::new(0));
5 | ^^^^^^^^^^------------
7 | |an argument of type `T1` is missing
8 | an argument of type `T3` is missing
10 note: function defined here
11 --> $DIR/issue-100478.rs:30:4
13 LL | fn three_diff(_a: T1, _b: T2, _c: T3) {}
14 | ^^^^^^^^^^ ------ ------ ------
15 help: provide the arguments
17 LL | three_diff(/* T1 */, T2::new(0), /* T3 */);
18 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 error[E0308]: arguments to this function are incorrect
21 --> $DIR/issue-100478.rs:35:5
23 LL | four_shuffle(T3::default(), T4::default(), T1::default(), T2::default());
24 | ^^^^^^^^^^^^ ------------- ------------- ------------- ------------- expected `T4`, found `T2`
26 | | | expected `T3`, found `T1`
27 | | expected `T2`, found `T4`
28 | expected `T1`, found `T3`
30 note: function defined here
31 --> $DIR/issue-100478.rs:31:4
33 LL | fn four_shuffle(_a: T1, _b: T2, _c: T3, _d: T4) {}
34 | ^^^^^^^^^^^^ ------ ------ ------ ------
37 LL | four_shuffle(T1::default(), T2::default(), T3::default(), T4::default());
38 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 error[E0308]: arguments to this function are incorrect
41 --> $DIR/issue-100478.rs:36:5
43 LL | four_shuffle(T3::default(), T2::default(), T1::default(), T3::default());
44 | ^^^^^^^^^^^^ ------------- ------------- ------------- expected struct `T4`, found struct `T3`
46 | | expected `T3`, found `T1`
47 | expected `T1`, found `T3`
49 note: function defined here
50 --> $DIR/issue-100478.rs:31:4
52 LL | fn four_shuffle(_a: T1, _b: T2, _c: T3, _d: T4) {}
53 | ^^^^^^^^^^^^ ------ ------ ------ ------
54 help: swap these arguments
56 LL | four_shuffle(T1::default(), T2::default(), T3::default(), /* T4 */);
57 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59 error[E0061]: this function takes 8 arguments but 7 arguments were supplied
60 --> $DIR/issue-100478.rs:47:5
65 LL | p3, p4, p5, p6, p7, p8,
66 | -- an argument of type `Arc<T2>` is missing
68 note: function defined here
69 --> $DIR/issue-100478.rs:29:4
71 LL | fn foo(p1: T1, p2: Arc<T2>, p3: T3, p4: Arc<T4>, p5: T5, p6: T6, p7: T7, p8: Arc<T8>) {}
72 | ^^^ ------ ----------- ------ ----------- ------ ------ ------ -----------
73 help: provide the argument
75 LL | foo(p1, /* Arc<T2> */, p3, p4, p5, p6, p7, p8);
76 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78 error: aborting due to 4 previous errors
80 Some errors have detailed explanations: E0061, E0308.
81 For more information about an error, try `rustc --explain E0061`.