From ce41325bbdf5ab0389f6da7e8d349c797c926aba Mon Sep 17 00:00:00 2001 From: Tim Jentzsch Date: Sat, 5 Nov 2022 15:45:49 +0100 Subject: [PATCH 1/2] Fix clippy::iter_with_drain --- crates/bevy_asset/src/loader.rs | 4 ++-- crates/bevy_ecs/src/schedule/ambiguity_detection.rs | 8 ++++---- crates/bevy_ecs/src/schedule/stage.rs | 2 +- crates/bevy_ecs/src/system/system_param.rs | 4 ++-- crates/bevy_pbr/src/material.rs | 4 ++-- crates/bevy_render/src/render_asset.rs | 4 ++-- crates/bevy_render/src/render_phase/mod.rs | 3 +-- crates/bevy_sprite/src/mesh2d/material.rs | 4 ++-- 8 files changed, 16 insertions(+), 17 deletions(-) diff --git a/crates/bevy_asset/src/loader.rs b/crates/bevy_asset/src/loader.rs index f6a5153b490d9..7b115a93a0531 100644 --- a/crates/bevy_asset/src/loader.rs +++ b/crates/bevy_asset/src/loader.rs @@ -86,8 +86,8 @@ impl LoadedAsset { /// Adds dependencies on other assets at the provided paths. #[must_use] - pub fn with_dependencies(mut self, mut asset_paths: Vec>) -> Self { - for asset_path in asset_paths.drain(..) { + pub fn with_dependencies(mut self, asset_paths: Vec>) -> Self { + for asset_path in asset_paths.into_iter() { self.add_dependency(asset_path); } self diff --git a/crates/bevy_ecs/src/schedule/ambiguity_detection.rs b/crates/bevy_ecs/src/schedule/ambiguity_detection.rs index 6bd61f469ece0..558754c9dfcd5 100644 --- a/crates/bevy_ecs/src/schedule/ambiguity_detection.rs +++ b/crates/bevy_ecs/src/schedule/ambiguity_detection.rs @@ -235,9 +235,9 @@ fn find_ambiguities(systems: &[SystemContainer]) -> Vec<(usize, usize, Vec Vec<(usize, usize, Vec, world: &World, ) { - let mut conflicts = system_access.get_conflicts_single(current); + let conflicts = system_access.get_conflicts_single(current); if conflicts.is_empty() { return; } let conflicting_components = conflicts - .drain(..) + .into_iter() .map(|component_id| world.components.get_info(component_id).unwrap().name()) .collect::>(); let accesses = conflicting_components.join(", "); diff --git a/crates/bevy_pbr/src/material.rs b/crates/bevy_pbr/src/material.rs index fecb2e9861ea8..d294b7eeb386a 100644 --- a/crates/bevy_pbr/src/material.rs +++ b/crates/bevy_pbr/src/material.rs @@ -536,8 +536,8 @@ fn prepare_materials( fallback_image: Res, pipeline: Res>, ) { - let mut queued_assets = std::mem::take(&mut prepare_next_frame.assets); - for (handle, material) in queued_assets.drain(..) { + let queued_assets = std::mem::take(&mut prepare_next_frame.assets); + for (handle, material) in queued_assets.into_iter() { match prepare_material( &material, &render_device, diff --git a/crates/bevy_render/src/render_asset.rs b/crates/bevy_render/src/render_asset.rs index b4c38dae3c944..4cc86edc2ed8c 100644 --- a/crates/bevy_render/src/render_asset.rs +++ b/crates/bevy_render/src/render_asset.rs @@ -186,8 +186,8 @@ fn prepare_assets( param: StaticSystemParam<::Param>, ) { let mut param = param.into_inner(); - let mut queued_assets = std::mem::take(&mut prepare_next_frame.assets); - for (handle, extracted_asset) in queued_assets.drain(..) { + let queued_assets = std::mem::take(&mut prepare_next_frame.assets); + for (handle, extracted_asset) in queued_assets.into_iter() { match R::prepare_asset(extracted_asset, &mut param) { Ok(prepared_asset) => { render_assets.insert(handle, prepared_asset); diff --git a/crates/bevy_render/src/render_phase/mod.rs b/crates/bevy_render/src/render_phase/mod.rs index 7c2686eebfe65..29564481ca454 100644 --- a/crates/bevy_render/src/render_phase/mod.rs +++ b/crates/bevy_render/src/render_phase/mod.rs @@ -35,8 +35,7 @@ impl RenderPhase { /// Batches the compatible [`BatchedPhaseItem`]s of this render phase pub fn batch(&mut self) { // TODO: this could be done in-place - let mut items = std::mem::take(&mut self.items); - let mut items = items.drain(..); + let mut items = std::mem::take(&mut self.items).into_iter(); self.items.reserve(items.len()); diff --git a/crates/bevy_sprite/src/mesh2d/material.rs b/crates/bevy_sprite/src/mesh2d/material.rs index 01bd223bbf3a3..9b4db7dcb7baf 100644 --- a/crates/bevy_sprite/src/mesh2d/material.rs +++ b/crates/bevy_sprite/src/mesh2d/material.rs @@ -471,8 +471,8 @@ fn prepare_materials_2d( fallback_image: Res, pipeline: Res>, ) { - let mut queued_assets = std::mem::take(&mut prepare_next_frame.assets); - for (handle, material) in queued_assets.drain(..) { + let queued_assets = std::mem::take(&mut prepare_next_frame.assets); + for (handle, material) in queued_assets.into_iter() { match prepare_material2d( &material, &render_device, From 841b266d284c48fccce4aea77d485ddbadc74307 Mon Sep 17 00:00:00 2001 From: Tim Jentzsch Date: Sat, 5 Nov 2022 20:46:11 +0100 Subject: [PATCH 2/2] Remove unnecessary into_iter() calls --- crates/bevy_asset/src/loader.rs | 2 +- crates/bevy_ecs/src/schedule/stage.rs | 2 +- crates/bevy_render/src/render_asset.rs | 2 +- crates/bevy_sprite/src/mesh2d/material.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/bevy_asset/src/loader.rs b/crates/bevy_asset/src/loader.rs index 7b115a93a0531..931efacb4c42a 100644 --- a/crates/bevy_asset/src/loader.rs +++ b/crates/bevy_asset/src/loader.rs @@ -87,7 +87,7 @@ impl LoadedAsset { /// Adds dependencies on other assets at the provided paths. #[must_use] pub fn with_dependencies(mut self, asset_paths: Vec>) -> Self { - for asset_path in asset_paths.into_iter() { + for asset_path in asset_paths { self.add_dependency(asset_path); } self diff --git a/crates/bevy_ecs/src/schedule/stage.rs b/crates/bevy_ecs/src/schedule/stage.rs index daf06ecb0d085..238743965d7ef 100644 --- a/crates/bevy_ecs/src/schedule/stage.rs +++ b/crates/bevy_ecs/src/schedule/stage.rs @@ -309,7 +309,7 @@ impl SystemStage { } } }); - for system in systems.into_iter() { + for system in systems { self.add_system_inner(system, set_run_criteria_index); } self diff --git a/crates/bevy_render/src/render_asset.rs b/crates/bevy_render/src/render_asset.rs index 4cc86edc2ed8c..9bdee8a4cd893 100644 --- a/crates/bevy_render/src/render_asset.rs +++ b/crates/bevy_render/src/render_asset.rs @@ -187,7 +187,7 @@ fn prepare_assets( ) { let mut param = param.into_inner(); let queued_assets = std::mem::take(&mut prepare_next_frame.assets); - for (handle, extracted_asset) in queued_assets.into_iter() { + for (handle, extracted_asset) in queued_assets { match R::prepare_asset(extracted_asset, &mut param) { Ok(prepared_asset) => { render_assets.insert(handle, prepared_asset); diff --git a/crates/bevy_sprite/src/mesh2d/material.rs b/crates/bevy_sprite/src/mesh2d/material.rs index 9b4db7dcb7baf..2e4e03179b216 100644 --- a/crates/bevy_sprite/src/mesh2d/material.rs +++ b/crates/bevy_sprite/src/mesh2d/material.rs @@ -472,7 +472,7 @@ fn prepare_materials_2d( pipeline: Res>, ) { let queued_assets = std::mem::take(&mut prepare_next_frame.assets); - for (handle, material) in queued_assets.into_iter() { + for (handle, material) in queued_assets { match prepare_material2d( &material, &render_device,