Commit aa00e3a
committed
re-introduce a cache for ast-ty-to-ty
It turns out that `ast_ty_to_ty` is supposed to be updating the `def`
after it finishes, but at some point in the past it stopped doing
so. This was never noticed because of the `ast_ty_to_ty_cache`, but that
cache was recently removed. This PR fixes the code to update the def
properly, but apparently that is not quite enough to make the operation
idempotent, so for now we reintroduce the cache too.
Fixes rust-lang#33425.1 parent e88defe commit aa00e3a
File tree
6 files changed
+98
-27
lines changed- src
- librustc_resolve
- librustc_typeck
- check
- test/run-pass
6 files changed
+98
-27
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2544 | 2544 | | |
2545 | 2545 | | |
2546 | 2546 | | |
| 2547 | + | |
| 2548 | + | |
2547 | 2549 | | |
2548 | 2550 | | |
2549 | 2551 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
| 67 | + | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
| 70 | + | |
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
84 | 87 | | |
85 | 88 | | |
86 | 89 | | |
| |||
1416 | 1419 | | |
1417 | 1420 | | |
1418 | 1421 | | |
1419 | | - | |
| 1422 | + | |
1420 | 1423 | | |
1421 | 1424 | | |
1422 | 1425 | | |
1423 | 1426 | | |
1424 | 1427 | | |
1425 | | - | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
1426 | 1432 | | |
1427 | 1433 | | |
1428 | 1434 | | |
| |||
1515 | 1521 | | |
1516 | 1522 | | |
1517 | 1523 | | |
1518 | | - | |
| 1524 | + | |
1519 | 1525 | | |
1520 | 1526 | | |
1521 | 1527 | | |
1522 | | - | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
1523 | 1535 | | |
1524 | 1536 | | |
1525 | 1537 | | |
1526 | 1538 | | |
1527 | 1539 | | |
1528 | 1540 | | |
1529 | | - | |
| 1541 | + | |
1530 | 1542 | | |
1531 | 1543 | | |
| 1544 | + | |
1532 | 1545 | | |
1533 | 1546 | | |
1534 | 1547 | | |
| |||
1540 | 1553 | | |
1541 | 1554 | | |
1542 | 1555 | | |
1543 | | - | |
| 1556 | + | |
1544 | 1557 | | |
1545 | 1558 | | |
1546 | 1559 | | |
| |||
1551 | 1564 | | |
1552 | 1565 | | |
1553 | 1566 | | |
1554 | | - | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
1555 | 1574 | | |
1556 | 1575 | | |
1557 | 1576 | | |
| |||
1599 | 1618 | | |
1600 | 1619 | | |
1601 | 1620 | | |
| 1621 | + | |
1602 | 1622 | | |
1603 | 1623 | | |
1604 | 1624 | | |
| |||
1615 | 1635 | | |
1616 | 1636 | | |
1617 | 1637 | | |
1618 | | - | |
1619 | | - | |
1620 | | - | |
1621 | | - | |
1622 | | - | |
1623 | | - | |
1624 | | - | |
| 1638 | + | |
| 1639 | + | |
| 1640 | + | |
| 1641 | + | |
| 1642 | + | |
| 1643 | + | |
| 1644 | + | |
1625 | 1645 | | |
1626 | 1646 | | |
1627 | 1647 | | |
| |||
1675 | 1695 | | |
1676 | 1696 | | |
1677 | 1697 | | |
1678 | | - | |
| 1698 | + | |
| 1699 | + | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
1679 | 1703 | | |
1680 | 1704 | | |
1681 | 1705 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
346 | 346 | | |
347 | 347 | | |
348 | 348 | | |
| 349 | + | |
| 350 | + | |
349 | 351 | | |
350 | 352 | | |
351 | 353 | | |
| |||
1262 | 1264 | | |
1263 | 1265 | | |
1264 | 1266 | | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
1265 | 1271 | | |
1266 | 1272 | | |
1267 | 1273 | | |
| |||
1434 | 1440 | | |
1435 | 1441 | | |
1436 | 1442 | | |
| 1443 | + | |
1437 | 1444 | | |
1438 | 1445 | | |
1439 | 1446 | | |
| |||
3845 | 3852 | | |
3846 | 3853 | | |
3847 | 3854 | | |
3848 | | - | |
| 3855 | + | |
3849 | 3856 | | |
3850 | 3857 | | |
3851 | | - | |
3852 | | - | |
3853 | | - | |
3854 | | - | |
3855 | | - | |
3856 | | - | |
| 3858 | + | |
| 3859 | + | |
| 3860 | + | |
| 3861 | + | |
| 3862 | + | |
| 3863 | + | |
3857 | 3864 | | |
3858 | 3865 | | |
3859 | 3866 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
81 | | - | |
| 81 | + | |
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
| 86 | + | |
86 | 87 | | |
87 | 88 | | |
88 | 89 | | |
| |||
146 | 147 | | |
147 | 148 | | |
148 | 149 | | |
149 | | - | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
150 | 154 | | |
151 | 155 | | |
152 | 156 | | |
| |||
298 | 302 | | |
299 | 303 | | |
300 | 304 | | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
301 | 309 | | |
302 | 310 | | |
303 | 311 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
| 119 | + | |
119 | 120 | | |
120 | 121 | | |
121 | 122 | | |
| |||
136 | 137 | | |
137 | 138 | | |
138 | 139 | | |
139 | | - | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
140 | 143 | | |
141 | 144 | | |
142 | 145 | | |
| |||
334 | 337 | | |
335 | 338 | | |
336 | 339 | | |
| 340 | + | |
337 | 341 | | |
338 | 342 | | |
339 | 343 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
0 commit comments