1 error[E0308]: mismatched types
2 --> $DIR/issue-69306.rs:5:28
5 | - this type parameter
6 LL | const C: S0<u8> = Self(0);
7 | ---- ^ expected type parameter `T`, found integer
9 | arguments to this function are incorrect
11 = note: expected type parameter `T`
12 found type `{integer}`
13 note: tuple struct defined here
14 --> $DIR/issue-69306.rs:3:8
19 error[E0308]: mismatched types
20 --> $DIR/issue-69306.rs:5:23
23 | - this type parameter
24 LL | const C: S0<u8> = Self(0);
25 | ^^^^^^^ expected `u8`, found type parameter `T`
27 = note: expected struct `S0<u8>`
30 error[E0308]: mismatched types
31 --> $DIR/issue-69306.rs:10:14
34 | - this type parameter
37 | ---- ^ expected type parameter `T`, found integer
39 | arguments to this function are incorrect
41 = note: expected type parameter `T`
42 found type `{integer}`
43 note: tuple struct defined here
44 --> $DIR/issue-69306.rs:3:8
49 error[E0308]: mismatched types
50 --> $DIR/issue-69306.rs:27:14
52 LL | impl<T> Foo<T> for <S0<T> as Fun>::Out {
53 | - this type parameter
56 | ---- ^ expected type parameter `T`, found integer
58 | arguments to this function are incorrect
60 = note: expected type parameter `T`
61 found type `{integer}`
62 note: tuple struct defined here
63 --> $DIR/issue-69306.rs:3:8
68 error[E0308]: mismatched types
69 --> $DIR/issue-69306.rs:33:32
71 LL | impl<T> S1<T, u8> {
72 | - this type parameter
73 LL | const C: S1<u8, u8> = Self(0, 1);
74 | ---- ^ expected type parameter `T`, found integer
76 | arguments to this function are incorrect
78 = note: expected type parameter `T`
79 found type `{integer}`
80 note: tuple struct defined here
81 --> $DIR/issue-69306.rs:31:8
83 LL | struct S1<T, U>(T, U);
86 error[E0308]: mismatched types
87 --> $DIR/issue-69306.rs:33:27
89 LL | impl<T> S1<T, u8> {
90 | - this type parameter
91 LL | const C: S1<u8, u8> = Self(0, 1);
92 | ^^^^^^^^^^ expected `u8`, found type parameter `T`
94 = note: expected struct `S1<u8, _>`
95 found struct `S1<T, _>`
97 error[E0308]: mismatched types
98 --> $DIR/issue-69306.rs:41:14
101 | - expected type parameter
102 LL | fn map<U>(x: U) -> S2<U> {
103 | - found type parameter
105 | ---- ^ expected type parameter `T`, found type parameter `U`
107 | arguments to this function are incorrect
109 = note: expected type parameter `T`
110 found type parameter `U`
111 = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound
112 = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters
113 note: tuple struct defined here
114 --> $DIR/issue-69306.rs:38:8
116 LL | struct S2<T>(T);
119 error[E0308]: mismatched types
120 --> $DIR/issue-69306.rs:41:9
123 | - found type parameter
124 LL | fn map<U>(x: U) -> S2<U> {
125 | - ----- expected `S2<U>` because of return type
127 | expected type parameter
129 | ^^^^^^^ expected type parameter `U`, found type parameter `T`
131 = note: expected struct `S2<U>`
133 = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound
134 = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters
136 error: aborting due to 8 previous errors
138 For more information about this error, try `rustc --explain E0308`.