Add Explicit Ordering for DefaultPlugins
Systems
#9828
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Objective
Solution
before
andafter
statements as required to remove system order ambiguity.Notes
This PR is a bit on the rough side of things and probably serves better as a reference point for the kind of work required to properly resolve #9511. A number of system ambiguities were between areas of Bevy that previously didn't need to reference each other. In those instances, I chose to add the crate and resolve the ambiguity directly. A better approach would probably be to add some better sets for sharing between these crates.
Also, I had some troubles on my machine actually diagnosing the original ambiguity errors using the
nondeterministic_system_order
example. I ended up working around this issue by explicitly configuring all the schedules run byMain
separately:If this is merged, I do think the CI tests should be updated to include ambiguity detection to prevent regression.