bevy/crates
Vic a1717331e4
implement UniqueEntityArray (#17954)
# Objective

Continuation of #17589 and #16547.

`get_many` is last of the `many` methods with a missing `unique`
counterpart.
It both takes and returns arrays, thus necessitates a matching
`UniqueEntityArray` type!
Plus, some slice methods involve returning arrays, which are currently
missing from `UniqueEntitySlice`.

## Solution

Add the type, the related methods and trait impls.

Note that for this PR, we abstain from some methods/trait impls that
create `&mut UniqueEntityArray`, because it can be successfully
mem-swapped. This can potentially invalidate a larger slice, which is
the same reason we punted on some mutable slice methods in #17589. We
can follow-up on all of these together in a following PR.

The new `unique_array` module is not glob-exported, because the trait
alias `unique_array::IntoIter` would conflict with
`unique_vec::IntoIter`.
The solution for this is to make the various `unique_*` modules public,
which I intend to do in yet another PR.
2025-02-24 21:36:59 +00:00
..
bevy_a11y Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
bevy_animation Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_app Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
bevy_asset Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_audio Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_color Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_core_pipeline Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_derive Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_dev_tools Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_diagnostic Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
bevy_dylib Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_ecs implement UniqueEntityArray (#17954) 2025-02-24 21:36:59 +00:00
bevy_encase_derive Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_gilrs Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_gizmos Incorporate OIT into MeshPipelineKey used by the LineGizmoPipeline (#17946) 2025-02-24 21:31:54 +00:00
bevy_gltf Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_image Load and convert RGB8 dds textures (#12952) 2025-02-24 20:45:56 +00:00
bevy_input Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
bevy_input_focus Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
bevy_internal Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_log Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_macro_utils Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_math Add core Error to InvalidDirectionError (#17820) 2025-02-24 21:04:22 +00:00
bevy_mesh Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_mikktspace Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_pbr Allow prepass to run without ATTRIBUTE_NORMAL (#17881) 2025-02-24 21:22:34 +00:00
bevy_picking Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_platform_support Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
bevy_ptr Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_reflect Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
bevy_remote Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_render Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_scene Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_sprite Add uv_transform to ColorMaterial (#17879) 2025-02-24 21:17:26 +00:00
bevy_state Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
bevy_tasks Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
bevy_text Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_time Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
bevy_transform Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_ui Remove camera from UiBatch (#17663) 2025-02-24 20:55:30 +00:00
bevy_utils Automatically enable portable-atomic when required (#17570) 2025-02-24 20:52:46 +00:00
bevy_window Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
bevy_winit Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00