pub enum EcsError {
NotInitialized,
AlreadyBorrowed,
DispatcherExecutionFailed(Vec<EcsError>),
SystemError(Box<dyn Error + Send>),
}Expand description
The types of errors a System can create.
Variants§
NotInitialized
A resource was not initialized in the World but the
System tries to access it.
Usually, this means no dispatcher was used and World::initialize
was not called.
AlreadyBorrowed
The requested resource is already borrowed.
This error is created if the System tries to read a resource that
has already been mutably borrowed.
It can also happen when trying to mutably borrow a resource that is
already being read.
This error should not occur during normal use, as the dispatchers can recover easily.
DispatcherExecutionFailed(Vec<EcsError>)
The execution of the dispatcher failed and returned one or more errors.
SystemError(Box<dyn Error + Send>)
This variant is for user-defined errors.
To create an error of this type easily, use the system_error! macro.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EcsError
impl !RefUnwindSafe for EcsError
impl Send for EcsError
impl !Sync for EcsError
impl Unpin for EcsError
impl !UnwindSafe for EcsError
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
Mutably borrows from an owned value. Read more
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>
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
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)
Convert
&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)
Convert
&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> 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>
Converts
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>
Converts
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