#[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) -> ScheduleBuildError
fn from(source: ScheduleBuildWarning) -> ScheduleBuildError
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, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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.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>
. Box<dyn Any>
can
then be further downcast
into Box<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>
. Rc<Any>
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.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<E> InstrumentError for Ewhere
TracedError<E>: From<E>,
impl<E> InstrumentError for Ewhere
TracedError<E>: From<E>,
Source§type Instrumented = TracedError<E>
type Instrumented = TracedError<E>
Source§fn in_current_span(self) -> <E as InstrumentError>::Instrumented
fn in_current_span(self) -> <E as InstrumentError>::Instrumented
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more