Commit 1ac8a47
committed
remove QF generics from all
# Objective
remove `QF` generics from a bunch of types and methods on query related items. this has a few benefits:
- simplifies type signatures `fn iter(&self) -> QueryIter<'_, 's, Q::ReadOnly, F::ReadOnly>` is (imo) conceptually simpler than `fn iter(&self) -> QueryIter<'_, 's, Q, ROQueryFetch<'_, Q>, F>`
- `Fetch` is mostly an implementation detail but previously we had to expose it on every `iter` `get` etc method
- Allows us to potentially in the future simplify the `WorldQuery` trait hierarchy by removing the `Fetch` trait
## Solution
remove the `QF` generic and add a way to (unsafely) turn `&QueryState<Q1, F1>` into `&QueryState<Q2, F2>`
---
## Changelog/Migration Guide
The `QF` generic was removed from various `Query` iterator types and some methods, you should update your code to use the type of the corresponding worldquery of the fetch type that was being used, or call `as_readonly`/`as_nop` to convert a querystate to the appropriate type. For example:
`.get_single_unchecked_manual::<ROQueryFetch<Q>>(..)` -> `.as_readonly().get_single_unchecked_manual(..)`
`my_field: QueryIter<'w, 's, Q, ROQueryFetch<'w, Q>, F>` -> `my_field: QueryIter<'w, 's, Q::ReadOnly, F::ReadOnly>`Query/State methods and types (#5170)1 parent 4affc8c commit 1ac8a47
File tree
8 files changed
+273
-206
lines changed- crates
- bevy_ecs_compile_fail_tests/tests/ui
- bevy_ecs/src
- query
- system
8 files changed
+273
-206
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
318 | 318 | | |
319 | 319 | | |
320 | 320 | | |
321 | | - | |
| 321 | + | |
| 322 | + | |
322 | 323 | | |
323 | 324 | | |
324 | 325 | | |
| |||
1608 | 1609 | | |
1609 | 1610 | | |
1610 | 1611 | | |
| 1612 | + | |
| 1613 | + | |
| 1614 | + | |
| 1615 | + | |
| 1616 | + | |
| 1617 | + | |
| 1618 | + | |
| 1619 | + | |
| 1620 | + | |
| 1621 | + | |
| 1622 | + | |
| 1623 | + | |
| 1624 | + | |
| 1625 | + | |
| 1626 | + | |
| 1627 | + | |
| 1628 | + | |
| 1629 | + | |
| 1630 | + | |
1611 | 1631 | | |
1612 | 1632 | | |
1613 | 1633 | | |
| |||
1616 | 1636 | | |
1617 | 1637 | | |
1618 | 1638 | | |
1619 | | - | |
| 1639 | + | |
1620 | 1640 | | |
1621 | | - | |
| 1641 | + | |
1622 | 1642 | | |
1623 | | - | |
| 1643 | + | |
1624 | 1644 | | |
1625 | 1645 | | |
1626 | 1646 | | |
1627 | 1647 | | |
1628 | 1648 | | |
1629 | 1649 | | |
1630 | | - | |
| 1650 | + | |
1631 | 1651 | | |
1632 | 1652 | | |
1633 | 1653 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
| 23 | + | |
27 | 24 | | |
28 | 25 | | |
29 | 26 | | |
| |||
44 | 41 | | |
45 | 42 | | |
46 | 43 | | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
| 44 | + | |
| 45 | + | |
52 | 46 | | |
53 | 47 | | |
54 | 48 | | |
| |||
69 | 63 | | |
70 | 64 | | |
71 | 65 | | |
72 | | - | |
| 66 | + | |
73 | 67 | | |
74 | 68 | | |
75 | 69 | | |
76 | 70 | | |
77 | 71 | | |
78 | 72 | | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
| 73 | + | |
83 | 74 | | |
84 | 75 | | |
85 | 76 | | |
86 | 77 | | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
| 78 | + | |
| 79 | + | |
95 | 80 | | |
96 | 81 | | |
97 | 82 | | |
98 | 83 | | |
99 | 84 | | |
100 | 85 | | |
101 | | - | |
| 86 | + | |
102 | 87 | | |
103 | 88 | | |
104 | 89 | | |
105 | 90 | | |
106 | | - | |
107 | | - | |
| 91 | + | |
108 | 92 | | |
109 | 93 | | |
110 | 94 | | |
| |||
119 | 103 | | |
120 | 104 | | |
121 | 105 | | |
122 | | - | |
123 | | - | |
| 106 | + | |
| 107 | + | |
124 | 108 | | |
125 | 109 | | |
126 | 110 | | |
127 | 111 | | |
128 | 112 | | |
129 | | - | |
| 113 | + | |
130 | 114 | | |
131 | 115 | | |
132 | 116 | | |
| |||
144 | 128 | | |
145 | 129 | | |
146 | 130 | | |
147 | | - | |
148 | | - | |
| 131 | + | |
149 | 132 | | |
150 | 133 | | |
151 | 134 | | |
152 | | - | |
| 135 | + | |
153 | 136 | | |
154 | 137 | | |
155 | 138 | | |
| |||
201 | 184 | | |
202 | 185 | | |
203 | 186 | | |
204 | | - | |
| 187 | + | |
205 | 188 | | |
206 | 189 | | |
207 | 190 | | |
| |||
219 | 202 | | |
220 | 203 | | |
221 | 204 | | |
222 | | - | |
223 | | - | |
| 205 | + | |
224 | 206 | | |
225 | 207 | | |
226 | | - | |
| 208 | + | |
227 | 209 | | |
228 | 210 | | |
229 | 211 | | |
| |||
367 | 349 | | |
368 | 350 | | |
369 | 351 | | |
370 | | - | |
| 352 | + | |
371 | 353 | | |
372 | | - | |
373 | | - | |
| 354 | + | |
374 | 355 | | |
375 | 356 | | |
376 | 357 | | |
| |||
405 | 386 | | |
406 | 387 | | |
407 | 388 | | |
408 | | - | |
| 389 | + | |
409 | 390 | | |
410 | 391 | | |
411 | | - | |
| 392 | + | |
412 | 393 | | |
413 | 394 | | |
414 | 395 | | |
415 | 396 | | |
416 | 397 | | |
417 | | - | |
| 398 | + | |
418 | 399 | | |
419 | 400 | | |
420 | | - | |
| 401 | + | |
421 | 402 | | |
422 | | - | |
| 403 | + | |
423 | 404 | | |
424 | 405 | | |
425 | 406 | | |
| |||
435 | 416 | | |
436 | 417 | | |
437 | 418 | | |
438 | | - | |
439 | | - | |
440 | | - | |
441 | | - | |
442 | | - | |
| 419 | + | |
| 420 | + | |
443 | 421 | | |
444 | 422 | | |
445 | 423 | | |
| |||
460 | 438 | | |
461 | 439 | | |
462 | 440 | | |
463 | | - | |
| 441 | + | |
464 | 442 | | |
465 | 443 | | |
466 | 444 | | |
467 | 445 | | |
468 | 446 | | |
469 | | - | |
| 447 | + | |
470 | 448 | | |
471 | 449 | | |
472 | 450 | | |
| |||
485 | 463 | | |
486 | 464 | | |
487 | 465 | | |
488 | | - | |
| 466 | + | |
489 | 467 | | |
490 | 468 | | |
491 | 469 | | |
| |||
509 | 487 | | |
510 | 488 | | |
511 | 489 | | |
512 | | - | |
| 490 | + | |
513 | 491 | | |
514 | 492 | | |
515 | 493 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | | - | |
| 24 | + | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
74 | 75 | | |
75 | 76 | | |
76 | 77 | | |
| |||
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
86 | 88 | | |
87 | 89 | | |
88 | 90 | | |
| |||
653 | 655 | | |
654 | 656 | | |
655 | 657 | | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
656 | 696 | | |
0 commit comments