You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
Added
Debug, Eq, PartialEq, Serialize, and Deserialize traits are added to the registry module.
schedule! macro for defining a schedule.
Schedule! macro for defining the type of a schedule.
schedule::task module for defining tasks that make up schedules.
Clone implementation for World.
Changed
Send and Sync implementations of World now only require the registry to implement Registry + Send and Registry + Sync respectively.
Lifetime in System and ParSystem traits has been moved to the Views associated type.
The generic lifetimes on the system::schedule::RawTask and system::Stages traits have been removed.
Registry is now explicitly bound to the static lifetime. This was previously only implicit, with Registrys being made of Components which were bound to 'static.
Both System and ParSystem no longer require a lifetime bound on the RegistryR in their run() methods.
Schedule has been changed from a struct to a trait.
Schedules now have their stages defined at compile-time.
registry! macro has been renamed to Registry! to indicate that it is intended to be a type-level macro.
views! macro has been renamed to Views! to indicate that it is intended to be a type-level macro.
Removed
system::Null is removed, since it is no longer needed for defining a Schedule.
schedule::Builder is removed, since it is no longer needed for defining a Schedule.
The schedule::raw_task module has been removed. There is now no distinction between a raw task and a regular task.
The schedule::stage module has been removed. It still exists as part of the private API, but is no longer exposed publicly.
The schedule::stages! macro is removed. Schedules are no longer defined in terms of their stages directly, but are defined in terms of their tasks using the schedule! and Schedule! macros.
Fixed
Mitigated potential bug regarding the way non-root macros are exported when compiling documentation. Previously, a change in Rust's experimental macro syntax could have potentially broken usage of the library for all users. Now, a change in the syntax will only break building of the documentation (using --cfg doc_cfg), which is acceptable.
World::shrink_to_fit() is no longer unsound. There were issues previously with it improperly deleting archetypes.