pub struct SystemParamValidationError {
pub skipped: bool,
pub message: Cow<'static, str>,
pub param: Cow<'static, str>,
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: bool
Whether the system should be skipped.
If false
, the error should be handled.
By default, this will result in a panic. See crate::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 suitable for system params that are intended to only operate in certain application states, such as Single
.
message: Cow<'static, str>
A message describing the validation error.
param: Cow<'static, str>
A 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.