Commit 85decfd
committed
Sema: Downgrade diagnostics about potential unavailability of the extended type in an extension declaration when the following conditions are met:
1. The extension is missing explicit availability.
2. The required availability is before the deployment target.
This exception is needed because there are many existing resilient libraries with extensions containing public members and no availability declared for the extension itself. Under existing rules, these decls are not diagnosed because the deployment target of the library is typically high enough that the extended type is implicitly considered available. Now that we're improving availability type checking for resilient libraries, however, these decls are being diagnosed. We need to land the diagnostic without breaking source compatibility so that library authors can identify and fix the issues.
Resolves rdar://926215671 parent 0094470 commit 85decfd
File tree
6 files changed
+96
-65
lines changed- include/swift/AST
- lib/Sema
- test/attr
6 files changed
+96
-65
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5581 | 5581 | | |
5582 | 5582 | | |
5583 | 5583 | | |
| 5584 | + | |
| 5585 | + | |
| 5586 | + | |
| 5587 | + | |
5584 | 5588 | | |
5585 | 5589 | | |
5586 | 5590 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1579 | 1579 | | |
1580 | 1580 | | |
1581 | 1581 | | |
1582 | | - | |
| 1582 | + | |
1583 | 1583 | | |
1584 | 1584 | | |
1585 | 1585 | | |
| |||
1589 | 1589 | | |
1590 | 1590 | | |
1591 | 1591 | | |
1592 | | - | |
1593 | | - | |
1594 | | - | |
1595 | | - | |
1596 | | - | |
1597 | | - | |
1598 | | - | |
1599 | | - | |
1600 | | - | |
1601 | | - | |
1602 | | - | |
1603 | | - | |
1604 | 1592 | | |
1605 | 1593 | | |
1606 | 1594 | | |
| |||
1758 | 1746 | | |
1759 | 1747 | | |
1760 | 1748 | | |
1761 | | - | |
1762 | | - | |
1763 | | - | |
1764 | | - | |
1765 | | - | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
1766 | 1753 | | |
1767 | 1754 | | |
1768 | 1755 | | |
1769 | 1756 | | |
1770 | | - | |
1771 | | - | |
| 1757 | + | |
1772 | 1758 | | |
1773 | | - | |
1774 | | - | |
| 1759 | + | |
1775 | 1760 | | |
1776 | 1761 | | |
1777 | 1762 | | |
| |||
1846 | 1831 | | |
1847 | 1832 | | |
1848 | 1833 | | |
1849 | | - | |
1850 | | - | |
1851 | | - | |
1852 | | - | |
1853 | | - | |
| 1834 | + | |
| 1835 | + | |
| 1836 | + | |
| 1837 | + | |
1854 | 1838 | | |
1855 | 1839 | | |
1856 | 1840 | | |
| |||
1866 | 1850 | | |
1867 | 1851 | | |
1868 | 1852 | | |
| 1853 | + | |
| 1854 | + | |
| 1855 | + | |
| 1856 | + | |
| 1857 | + | |
| 1858 | + | |
| 1859 | + | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
1869 | 1865 | | |
1870 | | - | |
| 1866 | + | |
| 1867 | + | |
1871 | 1868 | | |
1872 | 1869 | | |
1873 | 1870 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1881 | 1881 | | |
1882 | 1882 | | |
1883 | 1883 | | |
1884 | | - | |
| 1884 | + | |
1885 | 1885 | | |
1886 | 1886 | | |
1887 | | - | |
| 1887 | + | |
| 1888 | + | |
1888 | 1889 | | |
1889 | 1890 | | |
| 1891 | + | |
1890 | 1892 | | |
1891 | 1893 | | |
1892 | | - | |
1893 | | - | |
1894 | | - | |
1895 | | - | |
1896 | | - | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
| 1897 | + | |
| 1898 | + | |
| 1899 | + | |
| 1900 | + | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
1897 | 1905 | | |
1898 | 1906 | | |
1899 | | - | |
1900 | | - | |
1901 | | - | |
1902 | | - | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
1903 | 1910 | | |
1904 | 1911 | | |
1905 | 1912 | | |
| 1913 | + | |
1906 | 1914 | | |
1907 | 1915 | | |
1908 | 1916 | | |
| |||
3406 | 3414 | | |
3407 | 3415 | | |
3408 | 3416 | | |
3409 | | - | |
3410 | | - | |
| 3417 | + | |
| 3418 | + | |
3411 | 3419 | | |
3412 | | - | |
3413 | | - | |
3414 | | - | |
3415 | | - | |
3416 | | - | |
3417 | | - | |
3418 | | - | |
3419 | | - | |
3420 | | - | |
3421 | | - | |
| 3420 | + | |
| 3421 | + | |
| 3422 | + | |
| 3423 | + | |
| 3424 | + | |
| 3425 | + | |
| 3426 | + | |
| 3427 | + | |
| 3428 | + | |
| 3429 | + | |
| 3430 | + | |
| 3431 | + | |
| 3432 | + | |
3422 | 3433 | | |
3423 | | - | |
| 3434 | + | |
| 3435 | + | |
| 3436 | + | |
3424 | 3437 | | |
3425 | 3438 | | |
3426 | 3439 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
44 | | - | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
45 | 47 | | |
46 | 48 | | |
47 | 49 | | |
| |||
54 | 56 | | |
55 | 57 | | |
56 | 58 | | |
57 | | - | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
58 | 66 | | |
59 | 67 | | |
60 | 68 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1072 | 1072 | | |
1073 | 1073 | | |
1074 | 1074 | | |
1075 | | - | |
1076 | | - | |
1077 | | - | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
1078 | 1079 | | |
1079 | 1080 | | |
1080 | | - | |
| 1081 | + | |
| 1082 | + | |
1081 | 1083 | | |
1082 | | - | |
1083 | | - | |
| 1084 | + | |
| 1085 | + | |
1084 | 1086 | | |
1085 | 1087 | | |
1086 | 1088 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
608 | 608 | | |
609 | 609 | | |
610 | 610 | | |
611 | | - | |
| 611 | + | |
612 | 612 | | |
613 | 613 | | |
614 | 614 | | |
615 | 615 | | |
616 | | - | |
| 616 | + | |
617 | 617 | | |
618 | 618 | | |
619 | 619 | | |
620 | 620 | | |
621 | 621 | | |
622 | | - | |
| 622 | + | |
623 | 623 | | |
624 | 624 | | |
625 | 625 | | |
626 | 626 | | |
627 | 627 | | |
628 | 628 | | |
629 | 629 | | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
630 | 637 | | |
631 | 638 | | |
632 | 639 | | |
| |||
669 | 676 | | |
670 | 677 | | |
671 | 678 | | |
672 | | - | |
| 679 | + | |
673 | 680 | | |
674 | 681 | | |
675 | 682 | | |
| |||
0 commit comments