@@ -107,62 +107,74 @@ LL | reuse Trait::foo2 { &self.0 }
107107 | ^^^^
108108
109109error: delegation with early bound generics is not supported yet
110- --> $DIR/not-supported.rs:74 :21
110+ --> $DIR/not-supported.rs:75 :21
111111 |
112112LL | pub fn opaque_arg(_: impl Trait) -> i32 { 0 }
113113 | --------------------------------------- callee defined here
114114...
115115LL | reuse to_reuse::opaque_arg;
116116 | ^^^^^^^^^^
117117
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
120126 |
121127LL | reuse to_reuse::opaque_ret;
122128 | ^^^^^^^^^^
123129 |
124130note: ...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
126132 |
127133LL | reuse to_reuse::opaque_ret;
128134 | ^^^^^^^^^^
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
132138 |
133139LL | impl ToReuse for u8 {
134140 | ^^^^^^^^^^^^^^^^^^^
135141 = 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
136142
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
139151 |
140152LL | reuse ToReuse::opaque_ret;
141153 | ^^^^^^^^^^
142154 |
143155note: ...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
145157 |
146158LL | reuse ToReuse::opaque_ret;
147159 | ^^^^^^^^^^
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
151163 |
152164LL | impl ToReuse for u16 {
153165 | ^^^^^^^^^^^^^^^^^^^^
154166 = 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
155167
156168error: recursive delegation is not supported yet
157- --> $DIR/not-supported.rs:99 :22
169+ --> $DIR/not-supported.rs:101 :22
158170 |
159171LL | pub reuse to_reuse2::foo;
160172 | --- callee defined here
161173...
162174LL | reuse to_reuse1::foo;
163175 | ^^^
164176
165- error: aborting due to 16 previous errors
177+ error: aborting due to 18 previous errors
166178
167179Some errors have detailed explanations: E0049, E0195, E0391.
168180For more information about an error, try `rustc --explain E0049`.
0 commit comments