bevy/crates/bevy_ecs/src
Boxy 050d2b7f00 yeet World::components_mut >:( (#4092)
# Objective
make bevy ecs a lil bit less unsound
## Solution
yeet unsound API `World::components_mut`:
```rust
use bevy_ecs::prelude::*;

#[derive(Component)]
struct Foo(u8);

#[derive(Debug, Component)]
struct Bar([u8; 100]);

fn main() {
    let mut world = World::new();
    let e = world.spawn().insert(Foo(0)).id();
    *world.components_mut() = Default::default();
    let bar = world.entity_mut(e).remove::<Bar>().unwrap();
    // oopsies reading memory copied from outside allocation
    dbg!(bar);
}
```
2022-03-21 23:43:08 +00:00
..
entity Proper prehashing (#3963) 2022-02-18 03:26:01 +00:00
query Hide docs for concrete impls of Fetch, FetchState, and SystemParamState (#4250) 2022-03-21 05:23:36 +00:00
schedule Use more ergonomic span syntax (#4246) 2022-03-18 04:19:21 +00:00
storage Proper prehashing (#3963) 2022-02-18 03:26:01 +00:00
system Hide docs for concrete impls of Fetch, FetchState, and SystemParamState (#4250) 2022-03-21 05:23:36 +00:00
world yeet World::components_mut >:( (#4092) 2022-03-21 23:43:08 +00:00
archetype.rs Change Cow<[ComponentId]> to Box<[ComponentId]> (#4185) 2022-03-19 04:14:27 +00:00
bundle.rs small and mostly pointless refactoring (#2934) 2022-02-13 22:33:55 +00:00
change_detection.rs add missing into_inner to ReflectMut (#3841) 2022-02-04 03:37:45 +00:00
component.rs small and mostly pointless refactoring (#2934) 2022-02-13 22:33:55 +00:00
event.rs small and mostly pointless refactoring (#2934) 2022-02-13 22:33:55 +00:00
lib.rs Make get_resource (and friends) infallible (#4047) 2022-02-27 22:37:18 +00:00
reflect.rs Add FromReflect trait to convert dynamic types to concrete types (#1395) 2021-12-26 18:49:01 +00:00