I am writing an ECS with the goal of running on embedded systems (the Game Boy Advance to be exact). It's a proof of concept for the moment.
Right now I'm working on component access. Currently it works but it's a very unsafe process. I'm trying to do some magic with traits to hide away that unsafeness to where it's not the developer's problem.
Something like varadic generics would be perfect, but the RFCs on that don't seem to have gotten very far yet.
My goal is to make the following syntax possible:
old_arche_type
.component_storage
.access_columns(|component_vec: VecMut<T, Global>| {
// Do stuff with that column.
});
The most interesting part being that I can have a variable number of component_vec arguments.