bevy/crates/bevy_ecs_compile_fail_tests/tests/ui
Boxy 1ac8a476cf remove QF generics from all Query/State methods and types (#5170)
# 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>`
2022-07-19 00:45:00 +00:00
..
entity_ref_mut_lifetime_safety.rs
entity_ref_mut_lifetime_safety.stderr
query_combin_exact_sized_iterator_safety.rs Add ExactSizeIterator implementation for QueryCombinatonIter (#5148) 2022-07-13 16:08:48 +00:00
query_combin_exact_sized_iterator_safety.stderr Add ExactSizeIterator implementation for QueryCombinatonIter (#5148) 2022-07-13 16:08:48 +00:00
query_exact_sized_iterator_safety.rs Update ExactSizeIterator impl to support archetypal filters (With, Without) (#5124) 2022-06-29 02:15:28 +00:00
query_exact_sized_iterator_safety.stderr remove QF generics from all Query/State methods and types (#5170) 2022-07-19 00:45:00 +00:00
query_lifetime_safety.rs
query_lifetime_safety.stderr
system_param_derive_readonly.rs Make derived SystemParam readonly if possible (#4650) 2022-05-09 16:09:33 +00:00
system_param_derive_readonly.stderr remove QF generics from all Query/State methods and types (#5170) 2022-07-19 00:45:00 +00:00
system_query_get_lifetime_safety.rs
system_query_get_lifetime_safety.stderr
system_query_get_many_lifetime_safety.rs
system_query_get_many_lifetime_safety.stderr
system_query_get_many_mut_lifetime_safety.rs
system_query_get_many_mut_lifetime_safety.stderr
system_query_iter_lifetime_safety.rs
system_query_iter_lifetime_safety.stderr
system_query_many_for_each_mut_lifetime_safety.rs Add methods for querying lists of entities. (#4879) 2022-06-06 16:09:16 +00:00
system_query_many_for_each_mut_lifetime_safety.stderr Add methods for querying lists of entities. (#4879) 2022-06-06 16:09:16 +00:00
system_query_set_get_lifetime_safety.rs
system_query_set_get_lifetime_safety.stderr
system_query_set_iter_lifetime_safety.rs
system_query_set_iter_lifetime_safety.stderr
system_state_get_lifetime_safety.rs
system_state_get_lifetime_safety.stderr
system_state_iter_lifetime_safety.rs
system_state_iter_lifetime_safety.stderr
system_state_iter_mut_overlap_safety.rs
system_state_iter_mut_overlap_safety.stderr
world_query_derive.rs
world_query_derive.stderr remove QF generics from all Query/State methods and types (#5170) 2022-07-19 00:45:00 +00:00