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 = note: expected type parameter `T`
10 found type `{integer}`
12 error[E0308]: mismatched types
13 --> $DIR/issue-69306.rs:5:23
16 | - this type parameter
17 LL | const C: S0<u8> = Self(0);
18 | ^^^^^^^ expected `u8`, found type parameter `T`
20 = note: expected struct `S0<u8>`
23 error[E0308]: mismatched types
24 --> $DIR/issue-69306.rs:10:14
27 | - this type parameter
30 | ^ expected type parameter `T`, found integer
32 = note: expected type parameter `T`
33 found type `{integer}`
35 error[E0308]: mismatched types
36 --> $DIR/issue-69306.rs:27:14
38 LL | impl<T> Foo<T> for <S0<T> as Fun>::Out {
39 | - this type parameter
42 | ^ expected type parameter `T`, found integer
44 = note: expected type parameter `T`
45 found type `{integer}`
47 error[E0308]: mismatched types
48 --> $DIR/issue-69306.rs:33:32
50 LL | impl<T> S1<T, u8> {
51 | - this type parameter
52 LL | const C: S1<u8, u8> = Self(0, 1);
53 | ^ expected type parameter `T`, found integer
55 = note: expected type parameter `T`
56 found type `{integer}`
58 error[E0308]: mismatched types
59 --> $DIR/issue-69306.rs:33:27
61 LL | impl<T> S1<T, u8> {
62 | - this type parameter
63 LL | const C: S1<u8, u8> = Self(0, 1);
64 | ^^^^^^^^^^ expected `u8`, found type parameter `T`
66 = note: expected struct `S1<u8, _>`
67 found struct `S1<T, _>`
69 error[E0308]: mismatched types
70 --> $DIR/issue-69306.rs:41:14
73 | - expected type parameter
74 LL | fn map<U>(x: U) -> S2<U> {
75 | - found type parameter
77 | ^ expected type parameter `T`, found type parameter `U`
79 = note: expected type parameter `T`
80 found type parameter `U`
81 = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound
82 = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters
84 error[E0308]: mismatched types
85 --> $DIR/issue-69306.rs:41:9
88 | - found type parameter
89 LL | fn map<U>(x: U) -> S2<U> {
90 | - ----- expected `S2<U>` because of return type
92 | expected type parameter
94 | ^^^^^^^ expected type parameter `U`, found type parameter `T`
96 = note: expected struct `S2<U>`
98 = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound
99 = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters
101 error: aborting due to 8 previous errors
103 For more information about this error, try `rustc --explain E0308`.