leudz / shipyard

Entity Component System focused on usability and flexibility.
Other
753 stars 46 forks source link

Why is `clear_all_inserted` private? #207

Open DavidTheFighter opened 1 month ago

DavidTheFighter commented 1 month ago

Just started trying out shipyard and according to the guide I should use clear_all_inserted() and friends to clear tracking outside of workloads. In the latest version it seems to be private, why is that? Is there a better way to do this or is that coming down the pipe? Happy to contribute if there's an agreed way to go.

DavidTheFighter commented 1 month ago

And as usual as soon as I comment/ask for help I find the answer, you need a ViewMut to access those methods. I'll ask an alternative question then, why can I access clear_all_removed() and clear_all_deleted() from View but not the insert/modified variant?

leudz commented 1 month ago

You shouldn't be able to access them either. View shouldn't be able to modify anything. Rust Analyzer lists them as available but it shouldn't. I think it's confused by Deref/DerefMut. But if they are available or the doc says they are somewhere, let me know.