Remove thiserror from bevy_ecs (#15774)
				
					
				
			# Objective - Contributes to #15460 ## Solution - Removed `thiserror` from `bevy_ecs`
This commit is contained in:
		
							parent
							
								
									4c76ea7a5a
								
							
						
					
					
						commit
						0a61f04d9b
					
				| @ -32,7 +32,13 @@ concurrent-queue = "2.4.0" | ||||
| disqualified = "1.0" | ||||
| fixedbitset = "0.5" | ||||
| serde = { version = "1", optional = true, default-features = false } | ||||
| thiserror = "1.0" | ||||
| derive_more = { version = "1", default-features = false, features = [ | ||||
|   "error", | ||||
|   "from", | ||||
|   "display", | ||||
|   "into", | ||||
|   "as_ref", | ||||
| ] } | ||||
| nonmax = "0.5" | ||||
| arrayvec = { version = "0.7.4", optional = true } | ||||
| smallvec = "1" | ||||
|  | ||||
| @ -27,7 +27,7 @@ use core::{ | ||||
|     marker::PhantomData, | ||||
|     mem::needs_drop, | ||||
| }; | ||||
| use thiserror::Error; | ||||
| use derive_more::derive::{Display, Error}; | ||||
| 
 | ||||
| /// A data type that can be used to store data for an [entity].
 | ||||
| ///
 | ||||
| @ -1623,14 +1623,18 @@ impl<T: Component> FromWorld for InitComponentId<T> { | ||||
| } | ||||
| 
 | ||||
| /// An error returned when the registration of a required component fails.
 | ||||
| #[derive(Error, Debug)] | ||||
| #[derive(Error, Display, Debug)] | ||||
| #[non_exhaustive] | ||||
| pub enum RequiredComponentsError { | ||||
|     /// The component is already a directly required component for the requiree.
 | ||||
|     #[error("Component {0:?} already directly requires component {1:?}")] | ||||
|     #[display("Component {0:?} already directly requires component {_1:?}")] | ||||
|     #[error(ignore)] | ||||
|     DuplicateRegistration(ComponentId, ComponentId), | ||||
|     /// An archetype with the component that requires other components already exists
 | ||||
|     #[error("An archetype with the component {0:?} that requires other components already exists")] | ||||
|     #[display(
 | ||||
|         "An archetype with the component {_0:?} that requires other components already exists" | ||||
|     )] | ||||
|     #[error(ignore)] | ||||
|     ArchetypeExists(ComponentId), | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -2,6 +2,7 @@ use crate::component::ComponentId; | ||||
| use crate::storage::SparseSetIndex; | ||||
| use crate::world::World; | ||||
| use core::{fmt, fmt::Debug, marker::PhantomData}; | ||||
| use derive_more::derive::From; | ||||
| use fixedbitset::FixedBitSet; | ||||
| 
 | ||||
| /// A wrapper struct to make Debug representations of [`FixedBitSet`] easier
 | ||||
| @ -856,7 +857,7 @@ impl<T: SparseSetIndex> From<FilteredAccess<T>> for FilteredAccessSet<T> { | ||||
| } | ||||
| 
 | ||||
| /// Records how two accesses conflict with each other
 | ||||
| #[derive(Debug, PartialEq)] | ||||
| #[derive(Debug, PartialEq, From)] | ||||
| pub enum AccessConflicts { | ||||
|     /// Conflict is for all indices
 | ||||
|     All, | ||||
| @ -908,12 +909,6 @@ impl AccessConflicts { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl From<FixedBitSet> for AccessConflicts { | ||||
|     fn from(value: FixedBitSet) -> Self { | ||||
|         Self::Individual(value) | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl<T: SparseSetIndex> From<Vec<T>> for AccessConflicts { | ||||
|     fn from(value: Vec<T>) -> Self { | ||||
|         Self::Individual(value.iter().map(T::sparse_set_index).collect()) | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| use thiserror::Error; | ||||
| use derive_more::derive::{Display, Error}; | ||||
| 
 | ||||
| use crate::{entity::Entity, world::unsafe_world_cell::UnsafeWorldCell}; | ||||
| 
 | ||||
| @ -90,13 +90,15 @@ impl<'w> Eq for QueryEntityError<'w> {} | ||||
| 
 | ||||
| /// An error that occurs when evaluating a [`Query`](crate::system::Query) or [`QueryState`](crate::query::QueryState) as a single expected result via
 | ||||
| /// [`get_single`](crate::system::Query::get_single) or [`get_single_mut`](crate::system::Query::get_single_mut).
 | ||||
| #[derive(Debug, Error)] | ||||
| #[derive(Debug, Error, Display)] | ||||
| pub enum QuerySingleError { | ||||
|     /// No entity fits the query.
 | ||||
|     #[error("No entities fit the query {0}")] | ||||
|     #[display("No entities fit the query {_0}")] | ||||
|     #[error(ignore)] | ||||
|     NoEntities(&'static str), | ||||
|     /// Multiple entities fit the query.
 | ||||
|     #[error("Multiple entities fit the query {0}")] | ||||
|     #[display("Multiple entities fit the query {_0}")] | ||||
|     #[error(ignore)] | ||||
|     MultipleEntities(&'static str), | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -11,6 +11,8 @@ use crate::{ | ||||
|     world::{unsafe_world_cell::UnsafeWorldCell, World}, | ||||
| }; | ||||
| 
 | ||||
| use derive_more::derive::Into; | ||||
| 
 | ||||
| use core::{ | ||||
|     fmt::Debug, | ||||
|     iter, | ||||
| @ -21,15 +23,9 @@ use core::{ | ||||
| 
 | ||||
| /// Wrapper around [`Entity`] for [`RemovedComponents`].
 | ||||
| /// Internally, `RemovedComponents` uses these as an `Events<RemovedComponentEntity>`.
 | ||||
| #[derive(Event, Debug, Clone)] | ||||
| #[derive(Event, Debug, Clone, Into)] | ||||
| pub struct RemovedComponentEntity(Entity); | ||||
| 
 | ||||
| impl From<RemovedComponentEntity> for Entity { | ||||
|     fn from(value: RemovedComponentEntity) -> Self { | ||||
|         value.0 | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| /// Wrapper around a [`EventCursor<RemovedComponentEntity>`] so that we
 | ||||
| /// can differentiate events between components.
 | ||||
| #[derive(Debug)] | ||||
|  | ||||
| @ -8,10 +8,10 @@ use bevy_utils::{ | ||||
|     tracing::{error, info, warn}, | ||||
|     HashMap, HashSet, | ||||
| }; | ||||
| use derive_more::derive::{Display, Error}; | ||||
| use disqualified::ShortName; | ||||
| use fixedbitset::FixedBitSet; | ||||
| use petgraph::{algo::TarjanScc, prelude::*}; | ||||
| use thiserror::Error; | ||||
| 
 | ||||
| use crate::{ | ||||
|     self as bevy_ecs, | ||||
| @ -1934,42 +1934,43 @@ impl ScheduleGraph { | ||||
| } | ||||
| 
 | ||||
| /// Category of errors encountered during schedule construction.
 | ||||
| #[derive(Error, Debug)] | ||||
| #[derive(Error, Display, Debug)] | ||||
| #[error(ignore)] | ||||
| #[non_exhaustive] | ||||
| pub enum ScheduleBuildError { | ||||
|     /// A system set contains itself.
 | ||||
|     #[error("System set `{0}` contains itself.")] | ||||
|     #[display("System set `{_0}` contains itself.")] | ||||
|     HierarchyLoop(String), | ||||
|     /// The hierarchy of system sets contains a cycle.
 | ||||
|     #[error("System set hierarchy contains cycle(s).\n{0}")] | ||||
|     #[display("System set hierarchy contains cycle(s).\n{_0}")] | ||||
|     HierarchyCycle(String), | ||||
|     /// The hierarchy of system sets contains redundant edges.
 | ||||
|     ///
 | ||||
|     /// This error is disabled by default, but can be opted-in using [`ScheduleBuildSettings`].
 | ||||
|     #[error("System set hierarchy contains redundant edges.\n{0}")] | ||||
|     #[display("System set hierarchy contains redundant edges.\n{_0}")] | ||||
|     HierarchyRedundancy(String), | ||||
|     /// A system (set) has been told to run before itself.
 | ||||
|     #[error("System set `{0}` depends on itself.")] | ||||
|     #[display("System set `{_0}` depends on itself.")] | ||||
|     DependencyLoop(String), | ||||
|     /// The dependency graph contains a cycle.
 | ||||
|     #[error("System dependencies contain cycle(s).\n{0}")] | ||||
|     #[display("System dependencies contain cycle(s).\n{_0}")] | ||||
|     DependencyCycle(String), | ||||
|     /// Tried to order a system (set) relative to a system set it belongs to.
 | ||||
|     #[error("`{0}` and `{1}` have both `in_set` and `before`-`after` relationships (these might be transitive). This combination is unsolvable as a system cannot run before or after a set it belongs to.")] | ||||
|     #[display("`{0}` and `{_1}` have both `in_set` and `before`-`after` relationships (these might be transitive). This combination is unsolvable as a system cannot run before or after a set it belongs to.")] | ||||
|     CrossDependency(String, String), | ||||
|     /// Tried to order system sets that share systems.
 | ||||
|     #[error("`{0}` and `{1}` have a `before`-`after` relationship (which may be transitive) but share systems.")] | ||||
|     #[display("`{0}` and `{_1}` have a `before`-`after` relationship (which may be transitive) but share systems.")] | ||||
|     SetsHaveOrderButIntersect(String, String), | ||||
|     /// Tried to order a system (set) relative to all instances of some system function.
 | ||||
|     #[error("Tried to order against `{0}` in a schedule that has more than one `{0}` instance. `{0}` is a `SystemTypeSet` and cannot be used for ordering if ambiguous. Use a different set without this restriction.")] | ||||
|     #[display("Tried to order against `{0}` in a schedule that has more than one `{0}` instance. `{_0}` is a `SystemTypeSet` and cannot be used for ordering if ambiguous. Use a different set without this restriction.")] | ||||
|     SystemTypeSetAmbiguity(String), | ||||
|     /// Systems with conflicting access have indeterminate run order.
 | ||||
|     ///
 | ||||
|     /// This error is disabled by default, but can be opted-in using [`ScheduleBuildSettings`].
 | ||||
|     #[error("Systems with conflicting access have indeterminate run order.\n{0}")] | ||||
|     #[display("Systems with conflicting access have indeterminate run order.\n{_0}")] | ||||
|     Ambiguity(String), | ||||
|     /// Tried to run a schedule before all of its systems have been initialized.
 | ||||
|     #[error("Systems in schedule have not been initialized.")] | ||||
|     #[display("Systems in schedule have not been initialized.")] | ||||
|     Uninitialized, | ||||
| } | ||||
| 
 | ||||
| @ -2040,8 +2041,8 @@ impl ScheduleBuildSettings { | ||||
| 
 | ||||
| /// Error to denote that [`Schedule::initialize`] or [`Schedule::run`] has not yet been called for
 | ||||
| /// this schedule.
 | ||||
| #[derive(Error, Debug)] | ||||
| #[error("executable schedule has not been built")] | ||||
| #[derive(Error, Display, Debug)] | ||||
| #[display("executable schedule has not been built")] | ||||
| pub struct ScheduleNotInitialized; | ||||
| 
 | ||||
| #[cfg(test)] | ||||
|  | ||||
| @ -7,10 +7,13 @@ use crate::{ | ||||
|     system::{IntoSystem, ResMut, Resource}, | ||||
| }; | ||||
| use bevy_utils::{ | ||||
|     tracing::{error, info, warn}, | ||||
|     tracing::{info, warn}, | ||||
|     TypeIdMap, | ||||
| }; | ||||
| use thiserror::Error; | ||||
| use derive_more::derive::{Display, Error}; | ||||
| 
 | ||||
| #[cfg(not(feature = "bevy_debug_stepping"))] | ||||
| use bevy_utils::tracing::error; | ||||
| 
 | ||||
| #[cfg(test)] | ||||
| use bevy_utils::tracing::debug; | ||||
| @ -87,8 +90,8 @@ enum Update { | ||||
|     ClearBehavior(InternedScheduleLabel, SystemIdentifier), | ||||
| } | ||||
| 
 | ||||
| #[derive(Error, Debug)] | ||||
| #[error("not available until all configured schedules have been run; try again next frame")] | ||||
| #[derive(Error, Display, Debug)] | ||||
| #[display("not available until all configured schedules have been run; try again next frame")] | ||||
| pub struct NotReady; | ||||
| 
 | ||||
| #[derive(Resource, Default)] | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| use bevy_utils::tracing::warn; | ||||
| use core::fmt::Debug; | ||||
| use thiserror::Error; | ||||
| use derive_more::derive::{Display, Error}; | ||||
| 
 | ||||
| use crate::{ | ||||
|     archetype::ArchetypeComponentId, | ||||
| @ -357,12 +357,13 @@ impl RunSystemOnce for &mut World { | ||||
| } | ||||
| 
 | ||||
| /// Running system failed.
 | ||||
| #[derive(Error)] | ||||
| #[derive(Error, Display)] | ||||
| pub enum RunSystemError { | ||||
|     /// System could not be run due to parameters that failed validation.
 | ||||
|     ///
 | ||||
|     /// This can occur because the data required by the system was not present in the world.
 | ||||
|     #[error("The data required by the system {0:?} was not found in the world and the system did not run due to failed parameter validation.")] | ||||
|     #[display("The data required by the system {_0:?} was not found in the world and the system did not run due to failed parameter validation.")] | ||||
|     #[error(ignore)] | ||||
|     InvalidParams(Cow<'static, str>), | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -6,6 +6,7 @@ use crate::{ | ||||
| }; | ||||
| use alloc::borrow::Cow; | ||||
| use core::ops::Deref; | ||||
| use derive_more::derive::{AsRef, Display, Into}; | ||||
| 
 | ||||
| /// [`SystemParam`] that returns the name of the system which it is used in.
 | ||||
| ///
 | ||||
| @ -33,7 +34,8 @@ use core::ops::Deref; | ||||
| ///     logger.log("Hello");
 | ||||
| /// }
 | ||||
| /// ```
 | ||||
| #[derive(Debug)] | ||||
| #[derive(Debug, Into, Display, AsRef)] | ||||
| #[as_ref(str)] | ||||
| pub struct SystemName<'s>(&'s str); | ||||
| 
 | ||||
| impl<'s> SystemName<'s> { | ||||
| @ -50,25 +52,6 @@ impl<'s> Deref for SystemName<'s> { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl<'s> AsRef<str> for SystemName<'s> { | ||||
|     fn as_ref(&self) -> &str { | ||||
|         self.name() | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl<'s> From<SystemName<'s>> for &'s str { | ||||
|     fn from(name: SystemName<'s>) -> &'s str { | ||||
|         name.0 | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl<'s> core::fmt::Display for SystemName<'s> { | ||||
|     #[inline(always)] | ||||
|     fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { | ||||
|         core::fmt::Display::fmt(&self.name(), f) | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // SAFETY: no component value access
 | ||||
| unsafe impl SystemParam for SystemName<'_> { | ||||
|     type State = Cow<'static, str>; | ||||
|  | ||||
| @ -12,7 +12,7 @@ use bevy_ecs_macros::{Component, Resource}; | ||||
| #[cfg(feature = "bevy_reflect")] | ||||
| use bevy_reflect::Reflect; | ||||
| use core::marker::PhantomData; | ||||
| use thiserror::Error; | ||||
| use derive_more::derive::{Display, Error}; | ||||
| 
 | ||||
| /// A small wrapper for [`BoxedSystem`] that also keeps track whether or not the system has been initialized.
 | ||||
| #[derive(Component)] | ||||
| @ -587,28 +587,28 @@ where | ||||
| } | ||||
| 
 | ||||
| /// An operation with stored systems failed.
 | ||||
| #[derive(Error)] | ||||
| #[derive(Error, Display)] | ||||
| pub enum RegisteredSystemError<I: SystemInput = (), O = ()> { | ||||
|     /// A system was run by id, but no system with that id was found.
 | ||||
|     ///
 | ||||
|     /// Did you forget to register it?
 | ||||
|     #[error("System {0:?} was not registered")] | ||||
|     #[display("System {_0:?} was not registered")] | ||||
|     SystemIdNotRegistered(SystemId<I, O>), | ||||
|     /// A cached system was removed by value, but no system with its type was found.
 | ||||
|     ///
 | ||||
|     /// Did you forget to register it?
 | ||||
|     #[error("Cached system was not found")] | ||||
|     #[display("Cached system was not found")] | ||||
|     SystemNotCached, | ||||
|     /// A system tried to run itself recursively.
 | ||||
|     #[error("System {0:?} tried to run itself recursively")] | ||||
|     #[display("System {_0:?} tried to run itself recursively")] | ||||
|     Recursive(SystemId<I, O>), | ||||
|     /// A system tried to remove itself.
 | ||||
|     #[error("System {0:?} tried to remove itself")] | ||||
|     #[display("System {_0:?} tried to remove itself")] | ||||
|     SelfRemove(SystemId<I, O>), | ||||
|     /// System could not be run due to parameters that failed validation.
 | ||||
|     ///
 | ||||
|     /// This can occur because the data required by the system was not present in the world.
 | ||||
|     #[error("The data required by the system {0:?} was not found in the world and the system did not run due to failed parameter validation.")] | ||||
|     #[display("The data required by the system {_0:?} was not found in the world and the system did not run due to failed parameter validation.")] | ||||
|     InvalidParams(SystemId<I, O>), | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -15,7 +15,7 @@ use crate::{ | ||||
| use bevy_ptr::{OwningPtr, Ptr}; | ||||
| use bevy_utils::{HashMap, HashSet}; | ||||
| use core::{any::TypeId, marker::PhantomData, mem::MaybeUninit}; | ||||
| use thiserror::Error; | ||||
| use derive_more::derive::{Display, Error}; | ||||
| 
 | ||||
| use super::{unsafe_world_cell::UnsafeEntityCell, Ref, ON_REMOVE, ON_REPLACE}; | ||||
| 
 | ||||
| @ -2774,12 +2774,16 @@ impl<'a> From<&'a mut EntityWorldMut<'_>> for FilteredEntityMut<'a> { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| #[derive(Error, Debug)] | ||||
| #[derive(Error, Display, Debug)] | ||||
| pub enum TryFromFilteredError { | ||||
|     #[error("Conversion failed, filtered entity ref does not have read access to all components")] | ||||
|     #[display(
 | ||||
|         "Conversion failed, filtered entity ref does not have read access to all components" | ||||
|     )] | ||||
|     MissingReadAllAccess, | ||||
| 
 | ||||
|     #[error("Conversion failed, filtered entity ref does not have write access to all components")] | ||||
|     #[display(
 | ||||
|         "Conversion failed, filtered entity ref does not have write access to all components" | ||||
|     )] | ||||
|     MissingWriteAllAccess, | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -1,34 +1,39 @@ | ||||
| //! Contains error types returned by bevy's schedule.
 | ||||
| 
 | ||||
| use thiserror::Error; | ||||
| use derive_more::derive::{Display, Error}; | ||||
| 
 | ||||
| use crate::{component::ComponentId, entity::Entity, schedule::InternedScheduleLabel}; | ||||
| 
 | ||||
| /// The error type returned by [`World::try_run_schedule`] if the provided schedule does not exist.
 | ||||
| ///
 | ||||
| /// [`World::try_run_schedule`]: crate::world::World::try_run_schedule
 | ||||
| #[derive(Error, Debug)] | ||||
| #[error("The schedule with the label {0:?} was not found.")] | ||||
| #[derive(Error, Display, Debug)] | ||||
| #[display("The schedule with the label {_0:?} was not found.")] | ||||
| #[error(ignore)] | ||||
| pub struct TryRunScheduleError(pub InternedScheduleLabel); | ||||
| 
 | ||||
| /// An error that occurs when dynamically retrieving components from an entity.
 | ||||
| #[derive(Error, Debug, Clone, Copy, PartialEq, Eq)] | ||||
| #[derive(Error, Display, Debug, Clone, Copy, PartialEq, Eq)] | ||||
| pub enum EntityComponentError { | ||||
|     /// The component with the given [`ComponentId`] does not exist on the entity.
 | ||||
|     #[error("The component with ID {0:?} does not exist on the entity.")] | ||||
|     #[display("The component with ID {_0:?} does not exist on the entity.")] | ||||
|     #[error(ignore)] | ||||
|     MissingComponent(ComponentId), | ||||
|     /// The component with the given [`ComponentId`] was requested mutably more than once.
 | ||||
|     #[error("The component with ID {0:?} was requested mutably more than once.")] | ||||
|     #[display("The component with ID {_0:?} was requested mutably more than once.")] | ||||
|     #[error(ignore)] | ||||
|     AliasedMutability(ComponentId), | ||||
| } | ||||
| 
 | ||||
| /// An error that occurs when fetching entities mutably from a world.
 | ||||
| #[derive(Error, Debug, Clone, Copy, PartialEq, Eq)] | ||||
| #[derive(Error, Display, Debug, Clone, Copy, PartialEq, Eq)] | ||||
| pub enum EntityFetchError { | ||||
|     /// The entity with the given ID does not exist.
 | ||||
|     #[error("The entity with ID {0:?} does not exist.")] | ||||
|     #[display("The entity with ID {_0:?} does not exist.")] | ||||
|     #[error(ignore)] | ||||
|     NoSuchEntity(Entity), | ||||
|     /// The entity with the given ID was requested mutably more than once.
 | ||||
|     #[error("The entity with ID {0:?} was requested mutably more than once.")] | ||||
|     #[display("The entity with ID {_0:?} was requested mutably more than once.")] | ||||
|     #[error(ignore)] | ||||
|     AliasedMutability(Entity), | ||||
| } | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| 
 | ||||
| use core::any::TypeId; | ||||
| 
 | ||||
| use thiserror::Error; | ||||
| use derive_more::derive::{Display, Error}; | ||||
| 
 | ||||
| use bevy_reflect::{Reflect, ReflectFromPtr}; | ||||
| 
 | ||||
| @ -198,7 +198,7 @@ impl World { | ||||
| } | ||||
| 
 | ||||
| /// The error type returned by [`World::get_reflect`] and [`World::get_reflect_mut`].
 | ||||
| #[derive(Error, Debug)] | ||||
| #[derive(Error, Display, Debug)] | ||||
| pub enum GetComponentReflectError { | ||||
|     /// There is no [`ComponentId`] corresponding to the given [`TypeId`].
 | ||||
|     ///
 | ||||
| @ -208,11 +208,14 @@ pub enum GetComponentReflectError { | ||||
|     /// See the documentation for [`bevy_reflect`] for more information.
 | ||||
|     ///
 | ||||
|     /// [`App::register_type`]: ../../../bevy_app/struct.App.html#method.register_type
 | ||||
|     #[error("No `ComponentId` corresponding to {0:?} found (did you call App::register_type()?)")] | ||||
|     #[display(
 | ||||
|         "No `ComponentId` corresponding to {_0:?} found (did you call App::register_type()?)" | ||||
|     )] | ||||
|     #[error(ignore)] | ||||
|     NoCorrespondingComponentId(TypeId), | ||||
| 
 | ||||
|     /// The given [`Entity`] does not have a [`Component`] corresponding to the given [`TypeId`].
 | ||||
|     #[error("The given `Entity` {entity:?} does not have a `{component_name:?}` component ({component_id:?}, which corresponds to {type_id:?})")] | ||||
|     #[display("The given `Entity` {entity:?} does not have a `{component_name:?}` component ({component_id:?}, which corresponds to {type_id:?})")] | ||||
|     EntityDoesNotHaveComponent { | ||||
|         /// The given [`Entity`].
 | ||||
|         entity: Entity, | ||||
| @ -226,7 +229,7 @@ pub enum GetComponentReflectError { | ||||
|     }, | ||||
| 
 | ||||
|     /// The [`World`] was missing the [`AppTypeRegistry`] resource.
 | ||||
|     #[error("The `World` was missing the `AppTypeRegistry` resource")] | ||||
|     #[display("The `World` was missing the `AppTypeRegistry` resource")] | ||||
|     MissingAppTypeRegistry, | ||||
| 
 | ||||
|     /// The [`World`]'s [`TypeRegistry`] did not contain [`TypeData`] for [`ReflectFromPtr`] for the given [`TypeId`].
 | ||||
| @ -240,7 +243,8 @@ pub enum GetComponentReflectError { | ||||
|     /// [`TypeRegistry`]: bevy_reflect::TypeRegistry
 | ||||
|     /// [`ReflectFromPtr`]: bevy_reflect::ReflectFromPtr
 | ||||
|     /// [`App::register_type`]: ../../../bevy_app/struct.App.html#method.register_type
 | ||||
|     #[error("The `World`'s `TypeRegistry` did not contain `TypeData` for `ReflectFromPtr` for the given {0:?} (did you call `App::register_type()`?)")] | ||||
|     #[display("The `World`'s `TypeRegistry` did not contain `TypeData` for `ReflectFromPtr` for the given {_0:?} (did you call `App::register_type()`?)")] | ||||
|     #[error(ignore)] | ||||
|     MissingReflectFromPtrTypeData(TypeId), | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Zachary Harrold
						Zachary Harrold