@@ -107,62 +107,74 @@ LL | reuse Trait::foo2 { &self.0 }
107
107
| ^^^^
108
108
109
109
error: delegation with early bound generics is not supported yet
110
- --> $DIR/not-supported.rs:74 :21
110
+ --> $DIR/not-supported.rs:75 :21
111
111
|
112
112
LL | pub fn opaque_arg(_: impl Trait) -> i32 { 0 }
113
113
| --------------------------------------- callee defined here
114
114
...
115
115
LL | reuse to_reuse::opaque_arg;
116
116
| ^^^^^^^^^^
117
117
118
- error[E0391]: cycle detected when computing type of `opaque::<impl at $DIR/not-supported.rs:82:5: 82:24>::{synthetic#0}`
119
- --> $DIR/not-supported.rs:83:25
118
+ error: undefined opaque type
119
+ --> $DIR/not-supported.rs:79:28
120
+ |
121
+ LL | fn opaque_ret() -> impl Trait { unimplemented!() }
122
+ | ^^^^^^^^^^
123
+
124
+ error[E0391]: cycle detected when computing type of `opaque::<impl at $DIR/not-supported.rs:84:5: 84:24>::{synthetic#0}`
125
+ --> $DIR/not-supported.rs:85:25
120
126
|
121
127
LL | reuse to_reuse::opaque_ret;
122
128
| ^^^^^^^^^^
123
129
|
124
130
note: ...which requires comparing an impl and trait method signature, inferring any hidden `impl Trait` types in the process...
125
- --> $DIR/not-supported.rs:83 :25
131
+ --> $DIR/not-supported.rs:85 :25
126
132
|
127
133
LL | reuse to_reuse::opaque_ret;
128
134
| ^^^^^^^^^^
129
- = note: ...which again requires computing type of `opaque::<impl at $DIR/not-supported.rs:82 :5: 82 :24>::{synthetic#0}`, completing the cycle
130
- note: cycle used when checking that `opaque::<impl at $DIR/not-supported.rs:82 :5: 82 :24>` is well-formed
131
- --> $DIR/not-supported.rs:82 :5
135
+ = note: ...which again requires computing type of `opaque::<impl at $DIR/not-supported.rs:84 :5: 84 :24>::{synthetic#0}`, completing the cycle
136
+ note: cycle used when checking that `opaque::<impl at $DIR/not-supported.rs:84 :5: 84 :24>` is well-formed
137
+ --> $DIR/not-supported.rs:84 :5
132
138
|
133
139
LL | impl ToReuse for u8 {
134
140
| ^^^^^^^^^^^^^^^^^^^
135
141
= note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information
136
142
137
- error[E0391]: cycle detected when computing type of `opaque::<impl at $DIR/not-supported.rs:85:5: 85:25>::{synthetic#0}`
138
- --> $DIR/not-supported.rs:86:24
143
+ error: undefined opaque type
144
+ --> $DIR/not-supported.rs:72:32
145
+ |
146
+ LL | pub fn opaque_ret() -> impl Trait { unimplemented!() }
147
+ | ^^^^^^^^^^
148
+
149
+ error[E0391]: cycle detected when computing type of `opaque::<impl at $DIR/not-supported.rs:87:5: 87:25>::{synthetic#0}`
150
+ --> $DIR/not-supported.rs:88:24
139
151
|
140
152
LL | reuse ToReuse::opaque_ret;
141
153
| ^^^^^^^^^^
142
154
|
143
155
note: ...which requires comparing an impl and trait method signature, inferring any hidden `impl Trait` types in the process...
144
- --> $DIR/not-supported.rs:86 :24
156
+ --> $DIR/not-supported.rs:88 :24
145
157
|
146
158
LL | reuse ToReuse::opaque_ret;
147
159
| ^^^^^^^^^^
148
- = note: ...which again requires computing type of `opaque::<impl at $DIR/not-supported.rs:85 :5: 85 :25>::{synthetic#0}`, completing the cycle
149
- note: cycle used when checking that `opaque::<impl at $DIR/not-supported.rs:85 :5: 85 :25>` is well-formed
150
- --> $DIR/not-supported.rs:85 :5
160
+ = note: ...which again requires computing type of `opaque::<impl at $DIR/not-supported.rs:87 :5: 87 :25>::{synthetic#0}`, completing the cycle
161
+ note: cycle used when checking that `opaque::<impl at $DIR/not-supported.rs:87 :5: 87 :25>` is well-formed
162
+ --> $DIR/not-supported.rs:87 :5
151
163
|
152
164
LL | impl ToReuse for u16 {
153
165
| ^^^^^^^^^^^^^^^^^^^^
154
166
= note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information
155
167
156
168
error: recursive delegation is not supported yet
157
- --> $DIR/not-supported.rs:99 :22
169
+ --> $DIR/not-supported.rs:101 :22
158
170
|
159
171
LL | pub reuse to_reuse2::foo;
160
172
| --- callee defined here
161
173
...
162
174
LL | reuse to_reuse1::foo;
163
175
| ^^^
164
176
165
- error: aborting due to 16 previous errors
177
+ error: aborting due to 18 previous errors
166
178
167
179
Some errors have detailed explanations: E0049, E0195, E0391.
168
180
For more information about an error, try `rustc --explain E0049`.
0 commit comments