Commit 5f99d91
committed
[Constraint solver] Compute common apply result type in the solver.
Constraint generation for function application expressions contains a simple
hack to try to find the common result type for an overload set containing
callable things. Instead, perform this “common result type” computation
when simplifying an applicable function constraint, so it is more
widely applicable.1 parent a2e9c60 commit 5f99d91
File tree
5 files changed
+147
-81
lines changed- lib/Sema
5 files changed
+147
-81
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2516 | 2516 | | |
2517 | 2517 | | |
2518 | 2518 | | |
2519 | | - | |
2520 | | - | |
2521 | 2519 | | |
2522 | 2520 | | |
2523 | 2521 | | |
| |||
2526 | 2524 | | |
2527 | 2525 | | |
2528 | 2526 | | |
2529 | | - | |
2530 | | - | |
2531 | | - | |
2532 | | - | |
2533 | | - | |
2534 | | - | |
2535 | | - | |
2536 | | - | |
2537 | | - | |
2538 | | - | |
2539 | | - | |
2540 | | - | |
2541 | | - | |
2542 | | - | |
2543 | | - | |
2544 | | - | |
2545 | | - | |
2546 | | - | |
2547 | | - | |
2548 | | - | |
2549 | | - | |
2550 | | - | |
2551 | | - | |
2552 | | - | |
2553 | | - | |
2554 | | - | |
2555 | | - | |
2556 | | - | |
2557 | | - | |
2558 | | - | |
2559 | | - | |
2560 | | - | |
2561 | | - | |
2562 | | - | |
2563 | | - | |
2564 | | - | |
2565 | | - | |
2566 | | - | |
2567 | | - | |
2568 | | - | |
2569 | | - | |
2570 | | - | |
2571 | | - | |
2572 | | - | |
2573 | | - | |
2574 | | - | |
2575 | | - | |
2576 | | - | |
2577 | | - | |
2578 | | - | |
2579 | | - | |
2580 | | - | |
2581 | | - | |
2582 | | - | |
2583 | | - | |
2584 | | - | |
2585 | | - | |
2586 | | - | |
2587 | | - | |
| 2527 | + | |
| 2528 | + | |
| 2529 | + | |
2588 | 2530 | | |
2589 | 2531 | | |
2590 | 2532 | | |
| |||
2598 | 2540 | | |
2599 | 2541 | | |
2600 | 2542 | | |
2601 | | - | |
| 2543 | + | |
2602 | 2544 | | |
2603 | 2545 | | |
2604 | 2546 | | |
2605 | | - | |
| 2547 | + | |
| 2548 | + | |
| 2549 | + | |
| 2550 | + | |
| 2551 | + | |
| 2552 | + | |
| 2553 | + | |
| 2554 | + | |
| 2555 | + | |
| 2556 | + | |
2606 | 2557 | | |
2607 | 2558 | | |
2608 | 2559 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4777 | 4777 | | |
4778 | 4778 | | |
4779 | 4779 | | |
4780 | | - | |
| 4780 | + | |
4781 | 4781 | | |
4782 | 4782 | | |
4783 | 4783 | | |
| |||
4821 | 4821 | | |
4822 | 4822 | | |
4823 | 4823 | | |
| 4824 | + | |
| 4825 | + | |
| 4826 | + | |
| 4827 | + | |
| 4828 | + | |
| 4829 | + | |
| 4830 | + | |
| 4831 | + | |
| 4832 | + | |
| 4833 | + | |
4824 | 4834 | | |
4825 | 4835 | | |
4826 | 4836 | | |
| |||
4856 | 4866 | | |
4857 | 4867 | | |
4858 | 4868 | | |
4859 | | - | |
4860 | 4869 | | |
4861 | 4870 | | |
4862 | 4871 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1567 | 1567 | | |
1568 | 1568 | | |
1569 | 1569 | | |
1570 | | - | |
1571 | | - | |
1572 | | - | |
1573 | | - | |
1574 | | - | |
1575 | | - | |
1576 | | - | |
1577 | | - | |
1578 | | - | |
1579 | | - | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
1580 | 1574 | | |
1581 | 1575 | | |
1582 | | - | |
| 1576 | + | |
1583 | 1577 | | |
1584 | 1578 | | |
1585 | 1579 | | |
| |||
1593 | 1587 | | |
1594 | 1588 | | |
1595 | 1589 | | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
| 1593 | + | |
| 1594 | + | |
| 1595 | + | |
| 1596 | + | |
| 1597 | + | |
| 1598 | + | |
| 1599 | + | |
| 1600 | + | |
| 1601 | + | |
| 1602 | + | |
| 1603 | + | |
| 1604 | + | |
| 1605 | + | |
| 1606 | + | |
| 1607 | + | |
| 1608 | + | |
| 1609 | + | |
| 1610 | + | |
| 1611 | + | |
| 1612 | + | |
| 1613 | + | |
| 1614 | + | |
| 1615 | + | |
| 1616 | + | |
| 1617 | + | |
| 1618 | + | |
| 1619 | + | |
| 1620 | + | |
| 1621 | + | |
1596 | 1622 | | |
1597 | 1623 | | |
1598 | 1624 | | |
| |||
1608 | 1634 | | |
1609 | 1635 | | |
1610 | 1636 | | |
1611 | | - | |
| 1637 | + | |
1612 | 1638 | | |
1613 | 1639 | | |
1614 | 1640 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1466 | 1466 | | |
1467 | 1467 | | |
1468 | 1468 | | |
1469 | | - | |
| 1469 | + | |
| 1470 | + | |
1470 | 1471 | | |
1471 | 1472 | | |
1472 | 1473 | | |
| |||
1506 | 1507 | | |
1507 | 1508 | | |
1508 | 1509 | | |
1509 | | - | |
| 1510 | + | |
| 1511 | + | |
1510 | 1512 | | |
1511 | | - | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
1512 | 1523 | | |
1513 | 1524 | | |
1514 | 1525 | | |
| |||
1756 | 1767 | | |
1757 | 1768 | | |
1758 | 1769 | | |
| 1770 | + | |
| 1771 | + | |
| 1772 | + | |
| 1773 | + | |
| 1774 | + | |
| 1775 | + | |
| 1776 | + | |
| 1777 | + | |
| 1778 | + | |
| 1779 | + | |
| 1780 | + | |
| 1781 | + | |
| 1782 | + | |
| 1783 | + | |
| 1784 | + | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
| 1808 | + | |
| 1809 | + | |
| 1810 | + | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
1759 | 1818 | | |
1760 | 1819 | | |
1761 | 1820 | | |
| |||
1767 | 1826 | | |
1768 | 1827 | | |
1769 | 1828 | | |
1770 | | - | |
| 1829 | + | |
| 1830 | + | |
1771 | 1831 | | |
1772 | 1832 | | |
1773 | 1833 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2326 | 2326 | | |
2327 | 2327 | | |
2328 | 2328 | | |
| 2329 | + | |
| 2330 | + | |
| 2331 | + | |
| 2332 | + | |
| 2333 | + | |
| 2334 | + | |
2329 | 2335 | | |
2330 | 2336 | | |
2331 | 2337 | | |
| |||
3058 | 3064 | | |
3059 | 3065 | | |
3060 | 3066 | | |
| 3067 | + | |
| 3068 | + | |
| 3069 | + | |
| 3070 | + | |
| 3071 | + | |
| 3072 | + | |
| 3073 | + | |
| 3074 | + | |
| 3075 | + | |
| 3076 | + | |
| 3077 | + | |
| 3078 | + | |
| 3079 | + | |
| 3080 | + | |
3061 | 3081 | | |
3062 | 3082 | | |
3063 | 3083 | | |
| |||
0 commit comments