diff --git a/crates/brioche-core/src/bake/attach_resources.rs b/crates/brioche-core/src/bake/attach_resources.rs index 2dee5e04..5791fc5b 100644 --- a/crates/brioche-core/src/bake/attach_resources.rs +++ b/crates/brioche-core/src/bake/attach_resources.rs @@ -33,10 +33,10 @@ pub async fn attach_resources(brioche: &Brioche, directory: &mut Directory) -> a .graph .edges_directed(node_index, petgraph::Direction::Outgoing); - for edge in edges_out { - let AttachResourcesPlanEdge::InternalResource(resource) = &edge.weight(); - resources_to_attach.push(resource); - } + resources_to_attach.extend(edges_out.map(|edge| { + let AttachResourcesPlanEdge::InternalResource(resource) = edge.weight(); + resource + })); } // If there are no resources to attach, no need to update this node diff --git a/crates/brioche-core/src/project.rs b/crates/brioche-core/src/project.rs index ea3532e8..9dacd1dd 100644 --- a/crates/brioche-core/src/project.rs +++ b/crates/brioche-core/src/project.rs @@ -564,11 +564,10 @@ impl ProjectsInner { &self, project_hashes: &HashSet, ) -> anyhow::Result> { - let mut paths = Vec::with_capacity(project_hashes.len()); - for project_hash in project_hashes { - paths.push(self.project_module_paths(*project_hash)?); - } - + let paths = project_hashes + .iter() + .map(|project_hash| self.project_module_paths(*project_hash)) + .collect::, _>>()?; Ok(paths.into_iter().flatten()) } @@ -600,12 +599,10 @@ impl ProjectsInner { project_hashes: &HashSet, ) -> anyhow::Result> { - let mut module_specifiers = Vec::with_capacity(project_hashes.len()); - for project_hash in project_hashes { - let module_paths = self.project_module_specifiers(*project_hash)?; - module_specifiers.push(module_paths); - } - + let module_specifiers = project_hashes + .iter() + .map(|project_hash| self.project_module_specifiers(*project_hash)) + .collect::, _>>()?; Ok(module_specifiers.into_iter().flatten()) } diff --git a/crates/brioche-core/src/project/load.rs b/crates/brioche-core/src/project/load.rs index 54b23439..77cdf8ad 100644 --- a/crates/brioche-core/src/project/load.rs +++ b/crates/brioche-core/src/project/load.rs @@ -434,12 +434,12 @@ async fn load_project_inner( dependencies .insert(dep_name.clone(), DependencyRef::Project(*dep_project_hash)); - for error in &dep_errors[..] { - errors.push(LoadProjectError::DependencyError { + errors.extend(dep_errors.iter().map(|error| { + LoadProjectError::DependencyError { name: dep_name.clone(), error: Box::new(error.clone()), - }); - } + } + })); } }