From 0fee810040547e02579de85e0422e3f900fe8a8e Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sat, 2 Mar 2024 18:43:58 +0100 Subject: [PATCH] Streamline code --- src/core/collection/merge.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/core/collection/merge.rs b/src/core/collection/merge.rs index 76ed15a..2173801 100644 --- a/src/core/collection/merge.rs +++ b/src/core/collection/merge.rs @@ -86,17 +86,19 @@ pub trait WithId { fn id(&self) -> &Self::Id; } -pub struct MergeCollections { +pub struct MergeCollections { _id: PhantomData, _t: PhantomData, + _it: PhantomData, } -impl MergeCollections +impl MergeCollections where ID: Eq + Hash + Clone, T: WithId + Merge + Ord, + IT: IntoIterator, { - pub fn merge_iter>(primary: IT, secondary: IT) -> Vec { + pub fn merge_iter(primary: IT, secondary: IT) -> Vec { let primary = primary .into_iter() .map(|item| (item.id().clone(), item)) @@ -104,7 +106,7 @@ where Self::merge(primary, secondary) } - pub fn merge>(mut primary: HashMap, secondary: IT) -> Vec { + pub fn merge(mut primary: HashMap, secondary: IT) -> Vec { for secondary_item in secondary { if let Some(ref mut primary_item) = primary.get_mut(secondary_item.id()) { primary_item.merge_in_place(secondary_item);