bevy/crates/bevy_ecs/src/schedule
Daniel McNab 5ba2b9adcf Unique WorldId (#2827)
# Objective

Fixes these issues:
- `WorldId`s currently aren't necessarily unique
    - I want to guarantee that they're unique to safeguard my librarified version of https://github.com/bevyengine/bevy/discussions/2805
    - There probably hasn't been a collision yet, but they could technically collide
- `SystemId` isn't used for anything
  - It's no longer used now that `Locals` are stored within the `System`.
- `bevy_ecs` depends on rand

## Solution

- Instead of randomly generating `WorldId`s, just use an incrementing atomic counter, panicing on overflow.
- Remove `SystemId` 
    - We do need to allow Locals for exclusive systems at some point, but exclusive systems couldn't access their own `SystemId` anyway.
- Now that these don't depend on rand, move it to a dev-dependency

## Todo

Determine if `WorldId` should be `u32` based instead
2021-09-30 20:54:47 +00:00
..
executor.rs small ecs cleanup and remove_bundle drop bugfix (#2172) 2021-05-18 19:25:57 +00:00
executor_parallel.rs Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
graph_utils.rs Fix some nightly clippy lints (#2522) 2021-07-29 20:52:15 +00:00
label.rs System sets and run criteria v2 (#1675) 2021-03-24 20:11:55 +00:00
mod.rs Improve bevy_ecs and bevy_app API docs where referenced by the new Bevy Book (#2365) 2021-09-17 18:00:29 +00:00
run_criteria.rs Unique WorldId (#2827) 2021-09-30 20:54:47 +00:00
stage.rs Improve bevy_ecs and bevy_app API docs where referenced by the new Bevy Book (#2365) 2021-09-17 18:00:29 +00:00
state.rs Down with the system! (#2496) 2021-07-27 23:42:36 +00:00
system_container.rs Reduce visibility of various types and fields (#2690) 2021-08-19 20:02:25 +00:00
system_descriptor.rs Implement IntoSystemDescriptor for SystemDescriptor (#2718) 2021-08-24 17:46:53 +00:00
system_set.rs Optional .system (#2398) 2021-06-27 00:40:09 +00:00