Commit 0966944
committed
Auto merge of #158035 - LorrensP-2158466:import-cycle-det, r=petrochenkov
resolve: Explicit Set for detecting resolution cycles
Instead of using the `borrow_mut` counter of a `RefCell` for a `NameResolution` for detecting cyclic imports during import resolution, we use an explicit recursion stack that keeps track of the current used `NameResolution`s.
Because of the upcoming parallelisation of the import resolution algorithm, the current way cannot used in a parallel context.
r? @petrochenkov3 files changed
Lines changed: 82 additions & 31 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
1148 | 1148 | | |
1149 | 1149 | | |
1150 | 1150 | | |
1151 | | - | |
1152 | | - | |
1153 | | - | |
1154 | | - | |
1155 | | - | |
1156 | | - | |
1157 | | - | |
| 1151 | + | |
| 1152 | + | |
1158 | 1153 | | |
1159 | 1154 | | |
1160 | 1155 | | |
| |||
1175 | 1170 | | |
1176 | 1171 | | |
1177 | 1172 | | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
1178 | 1178 | | |
1179 | 1179 | | |
1180 | 1180 | | |
| |||
1210 | 1210 | | |
1211 | 1211 | | |
1212 | 1212 | | |
1213 | | - | |
1214 | | - | |
1215 | | - | |
1216 | | - | |
1217 | | - | |
1218 | | - | |
1219 | | - | |
| 1213 | + | |
| 1214 | + | |
1220 | 1215 | | |
1221 | 1216 | | |
1222 | 1217 | | |
| |||
1231 | 1226 | | |
1232 | 1227 | | |
1233 | 1228 | | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
1234 | 1234 | | |
1235 | 1235 | | |
1236 | 1236 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| |||
292 | 292 | | |
293 | 293 | | |
294 | 294 | | |
| 295 | + | |
| 296 | + | |
295 | 297 | | |
296 | 298 | | |
297 | 299 | | |
| |||
320 | 322 | | |
321 | 323 | | |
322 | 324 | | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
323 | 376 | | |
324 | 377 | | |
325 | 378 | | |
| |||
640 | 693 | | |
641 | 694 | | |
642 | 695 | | |
| 696 | + | |
643 | 697 | | |
644 | 698 | | |
645 | 699 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| 80 | + | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
| |||
639 | 640 | | |
640 | 641 | | |
641 | 642 | | |
642 | | - | |
| 643 | + | |
643 | 644 | | |
644 | 645 | | |
645 | 646 | | |
| |||
1597 | 1598 | | |
1598 | 1599 | | |
1599 | 1600 | | |
1600 | | - | |
1601 | | - | |
1602 | | - | |
1603 | | - | |
1604 | | - | |
| 1601 | + | |
| 1602 | + | |
| 1603 | + | |
| 1604 | + | |
1605 | 1605 | | |
1606 | 1606 | | |
1607 | 1607 | | |
| |||
2213 | 2213 | | |
2214 | 2214 | | |
2215 | 2215 | | |
2216 | | - | |
| 2216 | + | |
2217 | 2217 | | |
2218 | 2218 | | |
2219 | 2219 | | |
2220 | 2220 | | |
2221 | 2221 | | |
2222 | 2222 | | |
2223 | 2223 | | |
2224 | | - | |
2225 | | - | |
| 2224 | + | |
| 2225 | + | |
| 2226 | + | |
2226 | 2227 | | |
2227 | 2228 | | |
2228 | 2229 | | |
| |||
2833 | 2834 | | |
2834 | 2835 | | |
2835 | 2836 | | |
2836 | | - | |
2837 | | - | |
2838 | 2837 | | |
2839 | 2838 | | |
2840 | 2839 | | |
| |||
2942 | 2941 | | |
2943 | 2942 | | |
2944 | 2943 | | |
| 2944 | + | |
| 2945 | + | |
2945 | 2946 | | |
2946 | 2947 | | |
2947 | 2948 | | |
| |||
2954 | 2955 | | |
2955 | 2956 | | |
2956 | 2957 | | |
2957 | | - | |
2958 | | - | |
2959 | | - | |
2960 | | - | |
2961 | 2958 | | |
2962 | 2959 | | |
2963 | 2960 | | |
| |||
0 commit comments