bevy/crates/bevy_ecs_compile_fail_tests/tests/ui
ira 83a9e16158 Replace many_for_each_mut with iter_many_mut. (#5402)
# Objective
Replace `many_for_each_mut` with `iter_many_mut` using the same tricks to avoid aliased mutability that `iter_combinations_mut` uses.

<sub>I tried rebasing the draft PR I made for this before and it died. F</sub>
## Why
`many_for_each_mut` is worse for a few reasons:
1. The closure prevents the use of `continue`, `break`, and `return` behaves like a limited `continue`.
2. rustfmt will crumple it and double the indentation when the line gets too long.
    ```rust
    query.many_for_each_mut(
        &entity_list,
        |(mut transform, velocity, mut component_c)| {
            // Double trouble.
        },
    );
    ```
3. It is more surprising to have `many_for_each_mut` as a mutable counterpart to `iter_many` than `iter_many_mut`.
4. It required a separate unsafe fn; more unsafe code to maintain.
5. The `iter_many_mut` API matches the existing `iter_combinations_mut` API.

Co-authored-by: devil-ira <justthecooldude@gmail.com>
2022-07-30 01:38:13 +00:00
..
entity_ref_mut_lifetime_safety.rs REMOVE unsound lifetime annotations on EntityMut (#4096) 2022-04-04 21:33:33 +00:00
entity_ref_mut_lifetime_safety.stderr REMOVE unsound lifetime annotations on EntityMut (#4096) 2022-04-04 21:33:33 +00:00
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_iter_combinations_mut_iterator_safety.rs Replace many_for_each_mut with iter_many_mut. (#5402) 2022-07-30 01:38:13 +00:00
query_iter_combinations_mut_iterator_safety.stderr Replace many_for_each_mut with iter_many_mut. (#5402) 2022-07-30 01:38:13 +00:00
query_iter_many_mut_iterator_safety.rs Replace many_for_each_mut with iter_many_mut. (#5402) 2022-07-30 01:38:13 +00:00
query_iter_many_mut_iterator_safety.stderr Replace many_for_each_mut with iter_many_mut. (#5402) 2022-07-30 01:38:13 +00:00
query_lifetime_safety.rs
query_lifetime_safety.stderr
query_to_readonly.rs Allows conversion of mutable queries to immutable queries (#5376) 2022-07-20 01:09:45 +00:00
query_to_readonly.stderr Allows conversion of mutable queries to immutable queries (#5376) 2022-07-20 01:09:45 +00:00
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 Rename get_multiple APIs to get_many (#4384) 2022-03-31 20:59:26 +00:00
system_query_get_many_lifetime_safety.stderr Rename get_multiple APIs to get_many (#4384) 2022-03-31 20:59:26 +00:00
system_query_get_many_mut_lifetime_safety.rs Rename get_multiple APIs to get_many (#4384) 2022-03-31 20:59:26 +00:00
system_query_get_many_mut_lifetime_safety.stderr Rename get_multiple APIs to get_many (#4384) 2022-03-31 20:59:26 +00:00
system_query_iter_lifetime_safety.rs
system_query_iter_lifetime_safety.stderr
system_query_iter_many_mut_lifetime_safety.rs Replace many_for_each_mut with iter_many_mut. (#5402) 2022-07-30 01:38:13 +00:00
system_query_iter_many_mut_lifetime_safety.stderr Replace many_for_each_mut with iter_many_mut. (#5402) 2022-07-30 01:38:13 +00:00
system_query_set_get_lifetime_safety.rs ParamSet for conflicting SystemParam:s (#2765) 2022-03-29 23:39:38 +00:00
system_query_set_get_lifetime_safety.stderr ParamSet for conflicting SystemParam:s (#2765) 2022-03-29 23:39:38 +00:00
system_query_set_iter_lifetime_safety.rs ParamSet for conflicting SystemParam:s (#2765) 2022-03-29 23:39:38 +00:00
system_query_set_iter_lifetime_safety.stderr ParamSet for conflicting SystemParam:s (#2765) 2022-03-29 23:39:38 +00:00
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 Introduce tests for derive(WorldQuery) (#4625) 2022-04-28 21:06:20 +00:00
world_query_derive.stderr remove QF generics from all Query/State methods and types (#5170) 2022-07-19 00:45:00 +00:00