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> {
202202 Some ( ( trait_, alias) )
203203 } )
204204 {
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
207211 let impl_bound = GenericPredicate :: Implemented ( TraitRef {
208212 trait_ : future_trait,
209213 // Self type as the first parameter.
@@ -212,8 +216,6 @@ impl<'a> chalk_solve::RustIrDatabase<Interner> for ChalkContext<'a> {
212216 index : 0 ,
213217 } ) ) ,
214218 } ) ;
215- // AsyncBlock<T>: Future</* Self, */ Output = T>;
216- // debruijn: ^1 ^0
217219 let proj_bound = GenericPredicate :: Projection ( ProjectionPredicate {
218220 // The parameter of the opaque type.
219221 ty : Ty :: Bound ( BoundVar { debruijn : DebruijnIndex :: ONE , index : 0 } ) ,
You can’t perform that action at this time.
0 commit comments