diff options
Diffstat (limited to 'ecs/src/component')
-rw-r--r-- | ecs/src/component/local.rs | 4 | ||||
-rw-r--r-- | ecs/src/component/storage.rs | 14 | ||||
-rw-r--r-- | ecs/src/component/storage/archetype.rs | 2 | ||||
-rw-r--r-- | ecs/src/component/storage/graph.rs | 18 |
4 files changed, 20 insertions, 18 deletions
diff --git a/ecs/src/component/local.rs b/ecs/src/component/local.rs index ad79f6f..d4e414e 100644 --- a/ecs/src/component/local.rs +++ b/ecs/src/component/local.rs @@ -38,7 +38,7 @@ where } } -impl<'world, LocalComponent> Deref for Local<'world, LocalComponent> +impl<LocalComponent> Deref for Local<'_, LocalComponent> where LocalComponent: Component, { @@ -50,7 +50,7 @@ where } } -impl<'world, LocalComponent> DerefMut for Local<'world, LocalComponent> +impl<LocalComponent> DerefMut for Local<'_, LocalComponent> where LocalComponent: Component, { diff --git a/ecs/src/component/storage.rs b/ecs/src/component/storage.rs index b68f89d..f2306b7 100644 --- a/ecs/src/component/storage.rs +++ b/ecs/src/component/storage.rs @@ -161,7 +161,7 @@ impl Storage .archetype() .has_component_with_id(component.self_id()) { - return Err(Error::EntityAlreadyHasComponent { + return Err(Error::ComponentAlreadyInEntity { entity: entity_uid, component: component.self_id(), }); @@ -254,7 +254,7 @@ impl Storage .archetype() .has_component_with_id(component_id) { - return Err(Error::EntityDoesNotHaveComponent { + return Err(Error::ComponentNotFoundInEntity { entity: entity_uid, component: component_id, }); @@ -452,7 +452,7 @@ impl<'component_storage> Iterator for ArchetypeRefIter<'component_storage> self.dfs_iter.push(( BorrowedOrOwned::Owned(Archetype::new( add_edge_archetype_id, - &add_edge_archetype_comps + add_edge_archetype_comps .iter() .map(|metadata| metadata.id) .collect::<Vec<_>>(), @@ -476,7 +476,7 @@ impl<'component_storage> Iterator for ArchetypeRefIter<'component_storage> } } -impl<'storage> ArchetypeRefIter<'storage> +impl ArchetypeRefIter<'_> { fn find_edges_of_imaginary_archetype( &self, @@ -484,7 +484,7 @@ impl<'storage> ArchetypeRefIter<'storage> ) -> Vec<(Uid, ArchetypeEdges)> { self.storage - .find_all_archetype_with_comps(&imaginary_archetype_comps) + .find_all_archetype_with_comps(imaginary_archetype_comps) .into_iter() .filter_map(|found_id| { let found_archetype = self.storage.get_archetype_by_id(found_id).unwrap(); @@ -531,13 +531,13 @@ pub enum Error EntityDoesNotExist(Uid), #[error("Entity with ID {entity:?} already has component with ID {component:?}")] - EntityAlreadyHasComponent + ComponentAlreadyInEntity { entity: Uid, component: Uid }, #[error("Entity with ID {entity:?} does not have component with ID {component:?}")] - EntityDoesNotHaveComponent + ComponentNotFoundInEntity { entity: Uid, component: Uid }, diff --git a/ecs/src/component/storage/archetype.rs b/ecs/src/component/storage/archetype.rs index 9bf0feb..f6f8132 100644 --- a/ecs/src/component/storage/archetype.rs +++ b/ecs/src/component/storage/archetype.rs @@ -173,7 +173,7 @@ impl Id { pub fn new(component_ids: &impl AsRef<[Uid]>) -> Self { - if component_ids.as_ref().len() == 0 { + if component_ids.as_ref().is_empty() { return Self { hash: 0 }; } diff --git a/ecs/src/component/storage/graph.rs b/ecs/src/component/storage/graph.rs index a8e3f17..feac16c 100644 --- a/ecs/src/component/storage/graph.rs +++ b/ecs/src/component/storage/graph.rs @@ -123,7 +123,7 @@ impl Graph if other_archetype_node .archetype() - .is_superset(&archetype_node.archetype()) + .is_superset(archetype_node.archetype()) { Self::create_missing_superset_node_edges( archetype_node, @@ -155,7 +155,7 @@ impl Graph ) { if superset_node.archetype().component_cnt() - >= target_node.archetype().component_cnt() + 1 + > target_node.archetype().component_cnt() { let first_unique_comp_id = superset_node .archetype() @@ -278,14 +278,16 @@ pub struct ArchetypeEdges pub remove: Option<ArchetypeId>, } +type ArchetypeAddEdgeDfsIterStackElem<'graph> = ( + BorrowedOrOwned<'graph, Archetype>, + VecIntoIter<(Uid, ArchetypeEdges)>, +); + #[derive(Debug)] pub struct ArchetypeAddEdgeDfsIter<'graph> { graph: &'graph Graph, - stack: Vec<( - BorrowedOrOwned<'graph, Archetype>, - VecIntoIter<(Uid, ArchetypeEdges)>, - )>, + stack: Vec<ArchetypeAddEdgeDfsIterStackElem<'graph>>, visited: HashSet<ArchetypeId>, } @@ -296,7 +298,7 @@ impl<'graph> ArchetypeAddEdgeDfsIter<'graph> Self { graph, stack: start_nodes - .into_iter() + .iter() .map(|start_node_id| { let start_node = graph .get_node_by_id(*start_node_id) @@ -313,7 +315,7 @@ impl<'graph> ArchetypeAddEdgeDfsIter<'graph> ) }) .collect(), - visited: HashSet::from_iter(start_nodes.iter().copied()), + visited: start_nodes.iter().copied().collect::<HashSet<_>>(), } } |