| ... | ... | @@ -17738,23 +17738,17 @@ fn resolvePeerTypes( |
| 17738 | 17738 | // If chosen is superset of candidate, keep it. |
| 17739 | 17739 | // If candidate is superset of chosen, switch it. |
| 17740 | 17740 | // If neither is a superset, merge errors. |
| 17741 | | var prev_is_superset = true; |
| 17742 | 17741 | for (candidate_ty.errorSetNames()) |name| { |
| 17743 | 17742 | if (!err_set_ty.?.errorSetHasField(name)) { |
| 17744 | | prev_is_superset = false; |
| 17745 | 17743 | break; |
| 17746 | 17744 | } |
| 17747 | | } |
| 17748 | | if (prev_is_superset) continue; // use previous |
| 17745 | } else continue; |
| 17749 | 17746 | |
| 17750 | | var cand_is_superset = true; |
| 17751 | 17747 | for (err_set_ty.?.errorSetNames()) |name| { |
| 17752 | 17748 | if (!candidate_ty.errorSetHasField(name)) { |
| 17753 | | cand_is_superset = false; |
| 17754 | 17749 | break; |
| 17755 | 17750 | } |
| 17756 | | } |
| 17757 | | if (cand_is_superset) { |
| 17751 | } else { |
| 17758 | 17752 | // Swap to candidate |
| 17759 | 17753 | err_set_ty = candidate_ty; |
| 17760 | 17754 | chosen = candidate; |
| ... | ... | @@ -17801,14 +17795,11 @@ fn resolvePeerTypes( |
| 17801 | 17795 | } |
| 17802 | 17796 | |
| 17803 | 17797 | // If previous is superset, keep the previous |
| 17804 | | var prev_is_superset = true; |
| 17805 | 17798 | for (candidate_ty.errorSetNames()) |name| { |
| 17806 | 17799 | if (!err_set_ty.?.errorSetHasField(name)) { |
| 17807 | | prev_is_superset = false; |
| 17808 | 17800 | break; |
| 17809 | 17801 | } |
| 17810 | | } |
| 17811 | | if (prev_is_superset) continue; // use previous |
| 17802 | } else continue; |
| 17812 | 17803 | |
| 17813 | 17804 | // Merge |
| 17814 | 17805 | err_set_ty = try err_set_ty.?.errorSetMerge(sema.arena, candidate_ty); |
| ... | ... | @@ -17834,14 +17825,11 @@ fn resolvePeerTypes( |
| 17834 | 17825 | } |
| 17835 | 17826 | |
| 17836 | 17827 | // If candidate is a superset of the error type, then use it. |
| 17837 | | var cand_is_superset = true; |
| 17838 | 17828 | for (err_set_ty.?.errorSetNames()) |name| { |
| 17839 | 17829 | if (!eu_set_ty.errorSetHasField(name)) { |
| 17840 | | cand_is_superset = false; |
| 17841 | 17830 | break; |
| 17842 | 17831 | } |
| 17843 | | } |
| 17844 | | if (cand_is_superset) { |
| 17832 | } else { |
| 17845 | 17833 | // Swap to candidate |
| 17846 | 17834 | err_set_ty = eu_set_ty; |
| 17847 | 17835 | chosen = candidate; |
| ... | ... | @@ -17901,23 +17889,17 @@ fn resolvePeerTypes( |
| 17901 | 17889 | if (err_set_ty == null) err_set_ty = chosen_set_ty; |
| 17902 | 17890 | |
| 17903 | 17891 | // If the previous error set type is a superset, we're done. |
| 17904 | | var prev_is_superset = true; |
| 17905 | 17892 | for (candidate_set_ty.errorSetNames()) |name| { |
| 17906 | 17893 | if (!chosen_set_ty.errorSetHasField(name)) { |
| 17907 | | prev_is_superset = false; |
| 17908 | 17894 | break; |
| 17909 | 17895 | } |
| 17910 | | } |
| 17911 | | if (prev_is_superset) continue; // use previous |
| 17896 | } else continue; |
| 17912 | 17897 | |
| 17913 | | var cand_is_superset = true; |
| 17914 | 17898 | for (chosen_set_ty.errorSetNames()) |name| { |
| 17915 | 17899 | if (!candidate_set_ty.errorSetHasField(name)) { |
| 17916 | | cand_is_superset = false; |
| 17917 | 17900 | break; |
| 17918 | 17901 | } |
| 17919 | | } |
| 17920 | | if (cand_is_superset) { |
| 17902 | } else { |
| 17921 | 17903 | err_set_ty = candidate_ty; |
| 17922 | 17904 | continue; |
| 17923 | 17905 | } |