Commit dbd5968
committed
Rollup merge of rust-lang#33596 - nikomatsakis:issue-33586-regr-assoc-type-path, r=eddyb
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.
r? @eddybFile 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 | |
|---|---|---|---|
| |||
2542 | 2542 | | |
2543 | 2543 | | |
2544 | 2544 | | |
| 2545 | + | |
| 2546 | + | |
2545 | 2547 | | |
2546 | 2548 | | |
2547 | 2549 | | |
| |||
| 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 | | |
| |||
1263 | 1265 | | |
1264 | 1266 | | |
1265 | 1267 | | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
1266 | 1272 | | |
1267 | 1273 | | |
1268 | 1274 | | |
| |||
1435 | 1441 | | |
1436 | 1442 | | |
1437 | 1443 | | |
| 1444 | + | |
1438 | 1445 | | |
1439 | 1446 | | |
1440 | 1447 | | |
| |||
3852 | 3859 | | |
3853 | 3860 | | |
3854 | 3861 | | |
3855 | | - | |
| 3862 | + | |
3856 | 3863 | | |
3857 | 3864 | | |
3858 | | - | |
3859 | | - | |
3860 | | - | |
3861 | | - | |
3862 | | - | |
3863 | | - | |
| 3865 | + | |
| 3866 | + | |
| 3867 | + | |
| 3868 | + | |
| 3869 | + | |
| 3870 | + | |
3864 | 3871 | | |
3865 | 3872 | | |
3866 | 3873 | | |
| |||
| 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