pub struct SystemParamValidationError {
pub skipped: bool,
pub message: Cow<'static, str>,
pub param: DebugName,
pub field: Cow<'static, str>,
}Expand description
An error that occurs when a system parameter is not valid, used by system executors to determine what to do with a system.
Returned as an error from SystemParam::validate_param,
and handled using the unified error handling mechanisms defined in bevy_ecs::error.
Fields§
§skipped: boolWhether the system should be skipped.
If false, the error should be handled.
By default, this will result in a panic. See error for more information.
This is the default behavior, and is suitable for system params that should always be valid,
either because sensible fallback behavior exists (like Query) or because
failures in validation should be considered a bug in the user’s logic that must be immediately addressed (like Res).
If true, the system should be skipped.
This is set by wrapping the system param in If,
and indicates that the system is intended to only operate in certain application states.
message: Cow<'static, str>A message describing the validation error.
param: DebugNameA string identifying the invalid parameter. This is usually the type name of the parameter.
field: Cow<'static, str>A string identifying the field within a parameter using #[derive(SystemParam)].
This will be an empty string for other parameters.
This will be printed after param in the Display impl, and should include a :: prefix if non-empty.
Implementations§
Source§impl SystemParamValidationError
impl SystemParamValidationError
Sourcepub fn skipped<T>(message: impl Into<Cow<'static, str>>) -> Self
pub fn skipped<T>(message: impl Into<Cow<'static, str>>) -> Self
Constructs a SystemParamValidationError that skips the system.
The parameter name is initialized to the type name of T, so a SystemParam should usually pass Self.
Trait Implementations§
Source§impl Clone for SystemParamValidationError
impl Clone for SystemParamValidationError
Source§fn clone(&self) -> SystemParamValidationError
fn clone(&self) -> SystemParamValidationError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SystemParamValidationError
impl Debug for SystemParamValidationError
Source§impl Display for SystemParamValidationError
impl Display for SystemParamValidationError
Source§impl Error for SystemParamValidationError
impl Error for SystemParamValidationError
1.30.0 · 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
impl Eq for SystemParamValidationError
impl StructuralPartialEq for SystemParamValidationError
Auto Trait Implementations§
impl Freeze for SystemParamValidationError
impl RefUnwindSafe for SystemParamValidationError
impl Send for SystemParamValidationError
impl Sync for SystemParamValidationError
impl Unpin for SystemParamValidationError
impl UnwindSafe for SystemParamValidationError
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.