@@ -23,7 +23,7 @@ use crate::{
2323} ;
2424
2525// Variant of [`stackable_operator::role_utils::GenericCommonConfig`] that implements [`Merge`]
26- #[ derive( Clone , Debug , Default , Deserialize , JsonSchema , PartialEq , Serialize ) ]
26+ #[ derive( Clone , Debug , Default , Deserialize , JsonSchema , Eq , PartialEq , Serialize ) ]
2727pub struct GenericCommonConfig { }
2828
2929impl Merge for GenericCommonConfig {
9393 role_group. config . pod_overrides . clone ( ) ,
9494 ) ,
9595 product_specific_common_config : merged_product_specific_common_config (
96- role. config . product_specific_common_config . clone ( ) ,
96+ & role. config . product_specific_common_config ,
9797 role_group. config . product_specific_common_config . clone ( ) ,
9898 ) ,
9999 } ,
@@ -138,11 +138,11 @@ fn merged_pod_overrides(
138138 merged_pod_overrides
139139}
140140
141- fn merged_product_specific_common_config < T > ( role_config : T , role_group_config : T ) -> T
141+ fn merged_product_specific_common_config < T > ( role_config : & T , role_group_config : T ) -> T
142142where
143143 T : Merge ,
144144{
145- merge ( role_group_config, & role_config)
145+ merge ( role_group_config, role_config)
146146}
147147
148148/// Type-safe names for role resources
@@ -220,7 +220,11 @@ mod tests {
220220 } ;
221221
222222 #[ derive( Debug , Fragment , PartialEq ) ]
223- #[ fragment_attrs( derive( Clone , Debug , Default , Merge , PartialEq ) ) ]
223+ #[ fragment( path_overrides( fragment = "crate::config::fragment" ) ) ]
224+ #[ fragment_attrs(
225+ derive( Clone , Debug , Default , Merge , PartialEq ) ,
226+ merge( path_overrides( merge = "crate::config::merge" ) ) ,
227+ ) ]
224228 struct Config {
225229 property : String ,
226230 }
@@ -242,6 +246,7 @@ mod tests {
242246 }
243247
244248 #[ derive( Clone , Debug , Default , JsonSchema , Merge , PartialEq , Serialize ) ]
249+ #[ merge( path_overrides( merge = "crate::config::merge" ) ) ]
245250 struct CommonConfig {
246251 property : Option < String > ,
247252 }
0 commit comments