@@ -195,14 +195,14 @@ impl AutosarModel {
195195 // in this case we only keep the first one
196196 if let Some ( existing_element) = data. identifiables . get ( & key) . and_then ( WeakElement :: upgrade) {
197197 // present in both
198- if let Some ( new_element) = value. upgrade ( ) {
199- if existing_element. element_name ( ) != new_element. element_name ( ) {
200- // referenced element is different on both sides
201- return Err ( AutosarDataError :: OverlappingDataError {
202- filename ,
203- path : new_element . xml_path ( ) ,
204- } ) ;
205- }
198+ if let Some ( new_element) = value. upgrade ( )
199+ && existing_element. element_name ( ) != new_element. element_name ( )
200+ {
201+ // referenced element is different on both sides
202+ return Err ( AutosarDataError :: OverlappingDataError {
203+ filename ,
204+ path : new_element . xml_path ( ) ,
205+ } ) ;
206206 }
207207 } else {
208208 data. identifiables . insert ( key, value) ;
@@ -1017,13 +1017,13 @@ impl AutosarModel {
10171017 let keys: Vec < String > = model. identifiables . keys ( ) . cloned ( ) . collect ( ) ;
10181018 for key in keys {
10191019 // find keys referring to entries inside the renamed package
1020- if let Some ( suffix) = key. strip_prefix ( old_path) {
1021- if suffix. is_empty ( ) || suffix. starts_with ( '/' ) {
1022- let new_key = format ! ( "{new_path}{suffix}" ) ;
1023- // fix the identifiables hashmap
1024- if let Some ( entry ) = model . identifiables . swap_remove ( & key ) {
1025- model. identifiables . insert ( new_key , entry ) ;
1026- }
1020+ if let Some ( suffix) = key. strip_prefix ( old_path)
1021+ && ( suffix. is_empty ( ) || suffix. starts_with ( '/' ) )
1022+ {
1023+ let new_key = format ! ( "{new_path}{suffix}" ) ;
1024+ // fix the identifiables hashmap
1025+ if let Some ( entry ) = model. identifiables . swap_remove ( & key ) {
1026+ model . identifiables . insert ( new_key , entry ) ;
10271027 }
10281028 }
10291029 }
@@ -1050,11 +1050,11 @@ impl AutosarModel {
10501050 let mut data = self . 0 . write ( ) ;
10511051 let mut remove_list = false ;
10521052 // remove the old entry
1053- if let Some ( referrer_list) = data. reference_origins . get_mut ( old_ref) {
1054- if let Some ( index) = referrer_list. iter ( ) . position ( |x| * x == origin) {
1055- referrer_list . swap_remove ( index ) ;
1056- remove_list = referrer_list. is_empty ( ) ;
1057- }
1053+ if let Some ( referrer_list) = data. reference_origins . get_mut ( old_ref)
1054+ && let Some ( index) = referrer_list. iter ( ) . position ( |x| * x == origin)
1055+ {
1056+ referrer_list. swap_remove ( index ) ;
1057+ remove_list = referrer_list . is_empty ( ) ;
10581058 }
10591059 if remove_list {
10601060 data. reference_origins . remove ( old_ref) ;
0 commit comments