#[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.
Trait Implementations§
Source§impl Debug for ScheduleBuildError
impl Debug for ScheduleBuildError
Source§impl Display for ScheduleBuildError
impl Display for ScheduleBuildError
Source§impl Error for ScheduleBuildError
impl Error for ScheduleBuildError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl From<ScheduleBuildWarning> for ScheduleBuildError
impl From<ScheduleBuildWarning> for ScheduleBuildError
Source§fn from(source: ScheduleBuildWarning) -> Self
fn from(source: ScheduleBuildWarning) -> Self
Auto Trait Implementations§
impl Freeze for ScheduleBuildError
impl RefUnwindSafe for ScheduleBuildError
impl Send for ScheduleBuildError
impl Sync for ScheduleBuildError
impl Unpin for ScheduleBuildError
impl UnwindSafe for ScheduleBuildError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.