@@ -279,18 +279,15 @@ impl<'w, 's, D: QueryData, F: QueryFilter> QueryIter<'w, 's, D, F> {
279
279
/// # schedule.add_systems((system_1, system_2, system_3));
280
280
/// # schedule.run(&mut world);
281
281
/// ```
282
- pub fn sort < L : ReadOnlyQueryData + ' w > (
282
+ pub fn sort < L : ReadOnlyQueryData < Item < ' w > : Ord > + ' w > (
283
283
self ,
284
284
) -> QuerySortedIter <
285
285
' w ,
286
286
' s ,
287
287
D ,
288
288
F ,
289
289
impl ExactSizeIterator < Item = Entity > + DoubleEndedIterator + FusedIterator + ' w ,
290
- >
291
- where
292
- L :: Item < ' w > : Ord ,
293
- {
290
+ > {
294
291
// On the first successful iteration of `QueryIterationCursor`, `archetype_entities` or `table_entities`
295
292
// will be set to a non-zero value. The correctness of this method relies on this.
296
293
// I.e. this sort method will execute if and only if `next` on `QueryIterationCursor` of a
@@ -376,18 +373,15 @@ impl<'w, 's, D: QueryData, F: QueryFilter> QueryIter<'w, 's, D, F> {
376
373
/// # schedule.add_systems((system_1));
377
374
/// # schedule.run(&mut world);
378
375
/// ```
379
- pub fn sort_unstable < L : ReadOnlyQueryData + ' w > (
376
+ pub fn sort_unstable < L : ReadOnlyQueryData < Item < ' w > : Ord > + ' w > (
380
377
self ,
381
378
) -> QuerySortedIter <
382
379
' w ,
383
380
' s ,
384
381
D ,
385
382
F ,
386
383
impl ExactSizeIterator < Item = Entity > + DoubleEndedIterator + FusedIterator + ' w ,
387
- >
388
- where
389
- L :: Item < ' w > : Ord ,
390
- {
384
+ > {
391
385
// On the first successful iteration of `QueryIterationCursor`, `archetype_entities` or `table_entities`
392
386
// will be set to a non-zero value. The correctness of this method relies on this.
393
387
// I.e. this sort method will execute if and only if `next` on `QueryIterationCursor` of a
@@ -1083,10 +1077,7 @@ impl<'w, 's, D: QueryData, F: QueryFilter, I: Iterator<Item = Entity>> Debug
1083
1077
/// Entities that don't match the query are skipped.
1084
1078
///
1085
1079
/// This struct is created by the [`Query::iter_many`](crate::system::Query::iter_many) and [`Query::iter_many_mut`](crate::system::Query::iter_many_mut) methods.
1086
- pub struct QueryManyIter < ' w , ' s , D : QueryData , F : QueryFilter , I : Iterator >
1087
- where
1088
- I :: Item : Borrow < Entity > ,
1089
- {
1080
+ pub struct QueryManyIter < ' w , ' s , D : QueryData , F : QueryFilter , I : Iterator < Item : Borrow < Entity > > > {
1090
1081
entity_iter : I ,
1091
1082
entities : & ' w Entities ,
1092
1083
tables : & ' w Tables ,
@@ -1096,9 +1087,8 @@ where
1096
1087
query_state : & ' s QueryState < D , F > ,
1097
1088
}
1098
1089
1099
- impl < ' w , ' s , D : QueryData , F : QueryFilter , I : Iterator > QueryManyIter < ' w , ' s , D , F , I >
1100
- where
1101
- I :: Item : Borrow < Entity > ,
1090
+ impl < ' w , ' s , D : QueryData , F : QueryFilter , I : Iterator < Item : Borrow < Entity > > >
1091
+ QueryManyIter < ' w , ' s , D , F , I >
1102
1092
{
1103
1093
/// # Safety
1104
1094
/// - `world` must have permission to access any of the components registered in `query_state`.
@@ -1196,10 +1186,8 @@ where
1196
1186
}
1197
1187
}
1198
1188
1199
- impl < ' w , ' s , D : ReadOnlyQueryData , F : QueryFilter , I : Iterator > Iterator
1189
+ impl < ' w , ' s , D : ReadOnlyQueryData , F : QueryFilter , I : Iterator < Item : Borrow < Entity > > > Iterator
1200
1190
for QueryManyIter < ' w , ' s , D , F , I >
1201
- where
1202
- I :: Item : Borrow < Entity > ,
1203
1191
{
1204
1192
type Item = D :: Item < ' w > ;
1205
1193
@@ -1216,16 +1204,13 @@ where
1216
1204
}
1217
1205
1218
1206
// This is correct as [`QueryManyIter`] always returns `None` once exhausted.
1219
- impl < ' w , ' s , D : ReadOnlyQueryData , F : QueryFilter , I : Iterator > FusedIterator
1207
+ impl < ' w , ' s , D : ReadOnlyQueryData , F : QueryFilter , I : Iterator < Item : Borrow < Entity > > > FusedIterator
1220
1208
for QueryManyIter < ' w , ' s , D , F , I >
1221
- where
1222
- I :: Item : Borrow < Entity > ,
1223
1209
{
1224
1210
}
1225
1211
1226
- impl < ' w , ' s , D : QueryData , F : QueryFilter , I : Iterator > Debug for QueryManyIter < ' w , ' s , D , F , I >
1227
- where
1228
- I :: Item : Borrow < Entity > ,
1212
+ impl < ' w , ' s , D : QueryData , F : QueryFilter , I : Iterator < Item : Borrow < Entity > > > Debug
1213
+ for QueryManyIter < ' w , ' s , D , F , I >
1229
1214
{
1230
1215
fn fmt ( & self , f : & mut Formatter < ' _ > ) -> fmt:: Result {
1231
1216
f. debug_struct ( "QueryManyIter" ) . finish ( )
0 commit comments