![]() # 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); } ``` |
||
---|---|---|
.. | ||
entity | ||
query | ||
schedule | ||
storage | ||
system | ||
world | ||
archetype.rs | ||
bundle.rs | ||
change_detection.rs | ||
component.rs | ||
event.rs | ||
lib.rs | ||
reflect.rs |