diff options
Diffstat (limited to 'ecs/src/component/storage')
-rw-r--r-- | ecs/src/component/storage/archetype.rs | 2 | ||||
-rw-r--r-- | ecs/src/component/storage/graph.rs | 18 |
2 files changed, 11 insertions, 9 deletions
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<_>>(), } } |