@@ -1322,10 +1322,13 @@ def _diff_booleans(self, level, local_tree=None):
13221322 if level .t1 != level .t2 :
13231323 self ._report_result ('values_changed' , level , local_tree = local_tree )
13241324
1325- def _diff_numbers (self , level , local_tree = None ):
1325+ def _diff_numbers (self , level , local_tree = None , report_type_change = True ):
13261326 """Diff Numbers"""
1327- t1_type = "number" if self .ignore_numeric_type_changes else level .t1 .__class__ .__name__
1328- t2_type = "number" if self .ignore_numeric_type_changes else level .t2 .__class__ .__name__
1327+ if report_type_change :
1328+ t1_type = "number" if self .ignore_numeric_type_changes else level .t1 .__class__ .__name__
1329+ t2_type = "number" if self .ignore_numeric_type_changes else level .t2 .__class__ .__name__
1330+ else :
1331+ t1_type = t2_type = ''
13291332
13301333 if self .math_epsilon is not None :
13311334 if not is_close (level .t1 , level .t2 , abs_tol = self .math_epsilon ):
@@ -1503,8 +1506,8 @@ def _diff(self, level, parents_ids=frozenset(), _original_type=None, local_tree=
15031506 if self ._skip_this (level ):
15041507 return
15051508
1509+ report_type_change = True
15061510 if get_type (level .t1 ) != get_type (level .t2 ):
1507- report_type_change = True
15081511 for type_group in self .ignore_type_in_groups :
15091512 if self .type_check_func (level .t1 , type_group ) and self .type_check_func (level .t2 , type_group ):
15101513 report_type_change = False
@@ -1533,7 +1536,7 @@ def _diff(self, level, parents_ids=frozenset(), _original_type=None, local_tree=
15331536 self ._diff_uuids (level , local_tree = local_tree )
15341537
15351538 elif isinstance (level .t1 , numbers ):
1536- self ._diff_numbers (level , local_tree = local_tree )
1539+ self ._diff_numbers (level , local_tree = local_tree , report_type_change = report_type_change )
15371540
15381541 elif isinstance (level .t1 , Mapping ):
15391542 self ._diff_dict (level , parents_ids , local_tree = local_tree )
0 commit comments