| ... | ... | @@ -558,7 +558,7 @@ pub const Type = extern union { |
| 558 | 558 | |
| 559 | 559 | .error_set_inferred => { |
| 560 | 560 | // Inferred error sets are only equal if both are inferred |
| 561 | | // and they originate from the exact same function. |
| 561 | // and they share the same pointer. |
| 562 | 562 | const a_ies = a.castTag(.error_set_inferred).?.data; |
| 563 | 563 | const b_ies = (b.castTag(.error_set_inferred) orelse return false).data; |
| 564 | 564 | return a_ies == b_ies; |
| ... | ... | @@ -612,6 +612,15 @@ pub const Type = extern union { |
| 612 | 612 | if (a_info.cc != b_info.cc) |
| 613 | 613 | return false; |
| 614 | 614 | |
| 615 | if (a_info.alignment != b_info.alignment) |
| 616 | return false; |
| 617 | |
| 618 | if (a_info.is_var_args != b_info.is_var_args) |
| 619 | return false; |
| 620 | |
| 621 | if (a_info.is_generic != b_info.is_generic) |
| 622 | return false; |
| 623 | |
| 615 | 624 | if (a_info.param_types.len != b_info.param_types.len) |
| 616 | 625 | return false; |
| 617 | 626 | |
| ... | ... | @@ -622,19 +631,11 @@ pub const Type = extern union { |
| 622 | 631 | |
| 623 | 632 | if (a_param_ty.tag() == .generic_poison) continue; |
| 624 | 633 | if (b_param_ty.tag() == .generic_poison) continue; |
| 634 | |
| 625 | 635 | if (!eql(a_param_ty, b_param_ty)) |
| 626 | 636 | return false; |
| 627 | 637 | } |
| 628 | 638 | |
| 629 | | if (a_info.alignment != b_info.alignment) |
| 630 | | return false; |
| 631 | | |
| 632 | | if (a_info.is_var_args != b_info.is_var_args) |
| 633 | | return false; |
| 634 | | |
| 635 | | if (a_info.is_generic != b_info.is_generic) |
| 636 | | return false; |
| 637 | | |
| 638 | 639 | return true; |
| 639 | 640 | }, |
| 640 | 641 | |