bevy/crates/bevy_ecs/src/storage
Eagster 61bd3af7c7
Remove invalid entity locations (#19433)
# Objective

This is the first step of #19430 and is a follow up for #19132.

Now that `ArchetypeRow` has a niche, we can use `Option` instead of
needing `INVALID` everywhere.

This was especially concerning since `INVALID` *really was valid!*

Using options here made the code clearer and more data-driven. 

## Solution

Replace all uses of `INVALID` entity locations (and archetype/table
rows) with `None`.

## Testing

CI

---------

Co-authored-by: Chris Russell <8494645+chescock@users.noreply.github.com>
Co-authored-by: François Mockers <francois.mockers@vleue.com>
Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
2025-05-31 16:34:33 +00:00
..
table Remove invalid entity locations (#19433) 2025-05-31 16:34:33 +00:00
blob_array.rs Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
blob_vec.rs Fix sparse set components ignoring insert_if_new/InsertMode (#19059) 2025-05-05 17:42:36 +00:00
mod.rs Isolate component registration (#17671) 2025-02-05 19:59:30 +00:00
resource.rs Remove ArchetypeComponentId and archetype_component_access (#19143) 2025-05-27 19:04:32 +00:00
sparse_set.rs Nonmax all rows (#19132) 2025-05-26 17:39:55 +00:00
thin_array_ptr.rs Use fully qualified syntax in assertions. (#17936) 2025-02-22 01:58:54 +00:00