This repository was archived by the owner on May 28, 2025. It is now read-only.
Commit 93dd620
committed
Auto merge of rust-lang#114489 - compiler-errors:rpitit-capture-all, r=oli-obk
Make RPITITs capture all in-scope lifetimes
Much like rust-lang#114616, this implements the lang team decision from this T-lang meeting on [opaque captures strategy moving forward](https://hackmd.io/sFaSIMJOQcuwCdnUvCxtuQ?view). This will be RFC'd soon, but given that RPITITs are a nightly feature, this shouldn't necessarily be blocked on that.
We unconditionally capture all lifetimes in RPITITs -- impl is not as simple as rust-lang#114616, since we still need to duplicate RPIT lifetimes to make sure we reify any late-bound lifetimes in scope.
Closes rust-lang#112194File tree
15 files changed
+207
-105
lines changed- compiler
- rustc_ast_lowering/src
- rustc_feature/src
- rustc_hir_analysis/src/variance
- rustc_resolve/src
- rustc_span/src
- rustc_trait_selection/src/traits/select
- tests/ui/impl-trait
- in-trait
15 files changed
+207
-105
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
239 | | - | |
| 239 | + | |
240 | 240 | | |
241 | 241 | | |
242 | 242 | | |
| |||
312 | 312 | | |
313 | 313 | | |
314 | 314 | | |
315 | | - | |
| 315 | + | |
316 | 316 | | |
317 | 317 | | |
318 | 318 | | |
| |||
1401 | 1401 | | |
1402 | 1402 | | |
1403 | 1403 | | |
1404 | | - | |
| 1404 | + | |
1405 | 1405 | | |
1406 | 1406 | | |
1407 | 1407 | | |
1408 | 1408 | | |
1409 | 1409 | | |
1410 | | - | |
| 1410 | + | |
1411 | 1411 | | |
1412 | 1412 | | |
1413 | 1413 | | |
| |||
1416 | 1416 | | |
1417 | 1417 | | |
1418 | 1418 | | |
1419 | | - | |
| 1419 | + | |
1420 | 1420 | | |
1421 | 1421 | | |
1422 | 1422 | | |
| |||
1523 | 1523 | | |
1524 | 1524 | | |
1525 | 1525 | | |
1526 | | - | |
| 1526 | + | |
1527 | 1527 | | |
1528 | 1528 | | |
1529 | 1529 | | |
| |||
1540 | 1540 | | |
1541 | 1541 | | |
1542 | 1542 | | |
1543 | | - | |
1544 | | - | |
1545 | | - | |
1546 | | - | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
1547 | 1559 | | |
1548 | 1560 | | |
1549 | 1561 | | |
| |||
1554 | 1566 | | |
1555 | 1567 | | |
1556 | 1568 | | |
1557 | | - | |
| 1569 | + | |
1558 | 1570 | | |
1559 | 1571 | | |
1560 | 1572 | | |
| |||
1802 | 1814 | | |
1803 | 1815 | | |
1804 | 1816 | | |
1805 | | - | |
1806 | | - | |
1807 | | - | |
1808 | | - | |
1809 | | - | |
1810 | | - | |
| 1817 | + | |
1811 | 1818 | | |
1812 | 1819 | | |
1813 | 1820 | | |
1814 | 1821 | | |
1815 | 1822 | | |
1816 | 1823 | | |
1817 | 1824 | | |
1818 | | - | |
| 1825 | + | |
1819 | 1826 | | |
1820 | 1827 | | |
1821 | 1828 | | |
| |||
1883 | 1890 | | |
1884 | 1891 | | |
1885 | 1892 | | |
1886 | | - | |
| 1893 | + | |
1887 | 1894 | | |
1888 | 1895 | | |
1889 | 1896 | | |
| |||
1898 | 1905 | | |
1899 | 1906 | | |
1900 | 1907 | | |
1901 | | - | |
| 1908 | + | |
1902 | 1909 | | |
1903 | 1910 | | |
1904 | 1911 | | |
1905 | 1912 | | |
1906 | 1913 | | |
1907 | 1914 | | |
1908 | 1915 | | |
1909 | | - | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
1910 | 1919 | | |
1911 | 1920 | | |
1912 | 1921 | | |
1913 | 1922 | | |
1914 | 1923 | | |
1915 | 1924 | | |
1916 | 1925 | | |
1917 | | - | |
| 1926 | + | |
1918 | 1927 | | |
1919 | 1928 | | |
1920 | 1929 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
813 | 813 | | |
814 | 814 | | |
815 | 815 | | |
| 816 | + | |
816 | 817 | | |
817 | 818 | | |
818 | 819 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
1 | 3 | | |
2 | 4 | | |
3 | 5 | | |
4 | 6 | | |
5 | 7 | | |
6 | 8 | | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
7 | 22 | | |
8 | 23 | | |
9 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
772 | 772 | | |
773 | 773 | | |
774 | 774 | | |
775 | | - | |
| 775 | + | |
776 | 776 | | |
777 | 777 | | |
| 778 | + | |
778 | 779 | | |
779 | 780 | | |
780 | 781 | | |
| |||
909 | 910 | | |
910 | 911 | | |
911 | 912 | | |
912 | | - | |
913 | | - | |
| 913 | + | |
| 914 | + | |
914 | 915 | | |
915 | 916 | | |
916 | 917 | | |
| |||
951 | 952 | | |
952 | 953 | | |
953 | 954 | | |
954 | | - | |
955 | | - | |
| 955 | + | |
| 956 | + | |
956 | 957 | | |
957 | 958 | | |
958 | 959 | | |
| |||
4367 | 4368 | | |
4368 | 4369 | | |
4369 | 4370 | | |
4370 | | - | |
| 4371 | + | |
4371 | 4372 | | |
4372 | 4373 | | |
4373 | 4374 | | |
| |||
4380 | 4381 | | |
4381 | 4382 | | |
4382 | 4383 | | |
4383 | | - | |
4384 | | - | |
4385 | | - | |
4386 | | - | |
4387 | | - | |
4388 | | - | |
| 4384 | + | |
4389 | 4385 | | |
4390 | 4386 | | |
| 4387 | + | |
4391 | 4388 | | |
4392 | 4389 | | |
4393 | 4390 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1366 | 1366 | | |
1367 | 1367 | | |
1368 | 1368 | | |
| 1369 | + | |
1369 | 1370 | | |
1370 | 1371 | | |
1371 | 1372 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
548 | 548 | | |
549 | 549 | | |
550 | 550 | | |
551 | | - | |
| 551 | + | |
552 | 552 | | |
553 | 553 | | |
554 | 554 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
16 | 31 | | |
17 | 32 | | |
18 | 33 | | |
| |||
44 | 59 | | |
45 | 60 | | |
46 | 61 | | |
47 | | - | |
| 62 | + | |
48 | 63 | | |
49 | 64 | | |
Lines changed: 14 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
0 commit comments