@@ -640,16 +640,16 @@ pub const Type = extern union {
640
640
if (! eql (a_info .return_type , b_info .return_type , mod ))
641
641
return false ;
642
642
643
- if (a_info .cc != b_info .cc )
643
+ if (a_info .is_var_args != b_info .is_var_args )
644
644
return false ;
645
645
646
- if (a_info .alignment != b_info .alignment )
646
+ if (a_info .is_generic != b_info .is_generic )
647
647
return false ;
648
648
649
- if (a_info .is_var_args != b_info .is_var_args )
649
+ if (! a_info .cc_is_generic and a_info . cc != b_info .cc )
650
650
return false ;
651
651
652
- if (a_info .is_generic != b_info .is_generic )
652
+ if (! a_info .align_is_generic and a_info . alignment != b_info .alignment )
653
653
return false ;
654
654
655
655
if (a_info .param_types .len != b_info .param_types .len )
@@ -1039,8 +1039,12 @@ pub const Type = extern union {
1039
1039
if (fn_info .return_type .tag () != .generic_poison ) {
1040
1040
hashWithHasher (fn_info .return_type , hasher , mod );
1041
1041
}
1042
- std .hash .autoHash (hasher , fn_info .alignment );
1043
- std .hash .autoHash (hasher , fn_info .cc );
1042
+ if (! fn_info .align_is_generic ) {
1043
+ std .hash .autoHash (hasher , fn_info .alignment );
1044
+ }
1045
+ if (! fn_info .cc_is_generic ) {
1046
+ std .hash .autoHash (hasher , fn_info .cc );
1047
+ }
1044
1048
std .hash .autoHash (hasher , fn_info .is_var_args );
1045
1049
std .hash .autoHash (hasher , fn_info .is_generic );
1046
1050
0 commit comments