#[non_exhaustive]pub enum ScheduleBuildError {
HierarchyLoop(NodeId),
HierarchyCycle(Vec<Vec<NodeId>>),
DependencyLoop(NodeId),
DependencyCycle(Vec<Vec<NodeId>>),
CrossDependency(NodeId, NodeId),
SetsHaveOrderButIntersect(SystemSetKey, SystemSetKey),
SystemTypeSetAmbiguity(SystemSetKey),
Uninitialized,
Elevated(ScheduleBuildWarning),
}Expand description
Category of errors encountered during Schedule::initialize.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
HierarchyLoop(NodeId)
A system set contains itself.
HierarchyCycle(Vec<Vec<NodeId>>)
The hierarchy of system sets contains a cycle.
DependencyLoop(NodeId)
A system (set) has been told to run before itself.
DependencyCycle(Vec<Vec<NodeId>>)
The dependency graph contains a cycle.
CrossDependency(NodeId, NodeId)
Tried to order a system (set) relative to a system set it belongs to.
SetsHaveOrderButIntersect(SystemSetKey, SystemSetKey)
Tried to order system sets that share systems.
SystemTypeSetAmbiguity(SystemSetKey)
Tried to order a system (set) relative to all instances of some system function.
Uninitialized
Tried to run a schedule before all of its systems have been initialized.
Elevated(ScheduleBuildWarning)
A warning that was elevated to an error.
Implementations§
Source§impl ScheduleBuildError
impl ScheduleBuildError
Sourcepub fn to_string(&self, graph: &ScheduleGraph, world: &World) -> String
pub fn to_string(&self, graph: &ScheduleGraph, world: &World) -> String
Renders the error as a human-readable string with node identifiers replaced with their names.
The given graph and world are used to resolve the names of the nodes
and components involved in the error. The same graph and world
should be used as those used to initialize the Schedule. Failure
to do so will result in incorrect or incomplete error messages.