File tree Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -202,8 +202,12 @@ impl<'a> chalk_solve::RustIrDatabase<Interner> for ChalkContext<'a> {
202
202
Some ( ( trait_, alias) )
203
203
} )
204
204
{
205
- // AsyncBlock<T>: Future</* Self */>
206
- // This is required by `fn impls_future` to check if we need to provide `.await` completion.
205
+ // Making up `AsyncBlock<T>: Future<Output = T>`
206
+ //
207
+ // |--------------------OpaqueTyDatum-------------------|
208
+ // |-------------OpaqueTyDatumBound--------------|
209
+ // for<T> <Self> [Future<Self>, Future::Output<Self> = T]
210
+ // ^1 ^0 ^0 ^0 ^1
207
211
let impl_bound = GenericPredicate :: Implemented ( TraitRef {
208
212
trait_ : future_trait,
209
213
// Self type as the first parameter.
@@ -212,8 +216,6 @@ impl<'a> chalk_solve::RustIrDatabase<Interner> for ChalkContext<'a> {
212
216
index : 0 ,
213
217
} ) ) ,
214
218
} ) ;
215
- // AsyncBlock<T>: Future</* Self, */ Output = T>;
216
- // debruijn: ^1 ^0
217
219
let proj_bound = GenericPredicate :: Projection ( ProjectionPredicate {
218
220
// The parameter of the opaque type.
219
221
ty : Ty :: Bound ( BoundVar { debruijn : DebruijnIndex :: ONE , index : 0 } ) ,
You can’t perform that action at this time.
0 commit comments