Skip to content

Commit 14f34fa

Browse files
authored
Avoid extra cloning on scene impls (#23998)
# Objective - Some code inside the scene.rs contained unnecessary `.clone()` calls. Most probably because `Scene::resolve` was not consuming itself before. - I'm not sure if this improves anything, as the compiler might be intelligent enough to remove this calls already, but I don't see any drawbacks either. ## Solution - Remove the `.clone()` calls when not necessary. ## Testing - Local unit tests
1 parent 3968184 commit 14f34fa

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

crates/bevy_scene/src/scene.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ impl Scene for InheritSceneAsset {
398398
context.inherited = Some(scene_patch);
399399
Ok(())
400400
} else {
401-
Err(ResolveSceneError::MissingSceneDependency(self.0.clone()))
401+
Err(ResolveSceneError::MissingSceneDependency(self.0))
402402
}
403403
}
404404

@@ -415,7 +415,7 @@ impl<F: (Fn(&mut TemplateContext) -> Result<O>) + Clone + Send + Sync + 'static,
415415
_context: &mut ResolveContext,
416416
scene: &mut ResolvedScene,
417417
) -> Result<(), ResolveSceneError> {
418-
scene.push_template(FnTemplate(self.0.clone()));
418+
scene.push_template(FnTemplate(self.0));
419419
Ok(())
420420
}
421421
}
@@ -453,7 +453,7 @@ impl Scene for NameEntityReference {
453453
}
454454
scene.entity_indices.push(this_index);
455455
let name = scene.get_or_insert_template::<Name>(context);
456-
*name = self.name.clone();
456+
*name = self.name;
457457
Ok(())
458458
}
459459
}
@@ -527,7 +527,7 @@ impl<
527527
_context: &mut ResolveContext,
528528
scene: &mut ResolvedScene,
529529
) -> Result<(), ResolveSceneError> {
530-
scene.push_bundle_template(OnTemplate(self.0.clone(), PhantomData));
530+
scene.push_bundle_template(OnTemplate(self.0, PhantomData));
531531
Ok(())
532532
}
533533
}

0 commit comments

Comments
 (0)