Struct bevy_ecs::schedule::ReportExecutionOrderAmbiguities [−][src]
pub struct ReportExecutionOrderAmbiguities;
Expand description
When this resource is present in the App
’s Resources
,
each SystemStage
will log a report containing
pairs of systems with ambiguous execution order.
Systems that access the same Component or Resource within the same stage risk an ambiguous order that could result in logic bugs, unless they have an explicit execution ordering constraint between them.
This occurs because, in the absence of explicit constraints, systems are executed in an unstable, arbitrary order within each stage that may vary between runs and frames.
Some ambiguities reported by the ambiguity checker may be warranted (to allow two systems to run
without blocking each other) or spurious, as the exact combination of archetypes used may
prevent them from ever conflicting during actual gameplay. You can resolve the warnings produced
by the ambiguity checker by adding .before
or .after
to one of the conflicting systems
referencing the other system to force a specific ordering.
The checker may report a system more times than the amount of constraints it would actually need to have unambiguous order with regards to a group of already-constrained systems.
Auto Trait Implementations
impl Send for ReportExecutionOrderAmbiguities
impl Sync for ReportExecutionOrderAmbiguities
impl Unpin for ReportExecutionOrderAmbiguities
Blanket Implementations
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more