Commit 243c5a3
committed
Auto merge of rust-lang#140453 - Zoxc:next-disambiguator, r=oli-obk
Remove global `next_disambiguator` state and handle it with a `DisambiguatorState` type
This removes `Definitions.next_disambiguator` as it doesn't guarantee deterministic def paths when `create_def` is called in parallel. Instead a new `DisambiguatorState` type is passed as a mutable reference to `create_def` to help create unique def paths. `create_def` calls with distinct `DisambiguatorState` instances must ensure that that the def paths are unique without its help.
Anon associated types did rely on this global state for uniqueness and are changed to use (method they're defined in + their position in the method return type) as the `DefPathData` to ensure uniqueness. This also means that the method they're defined in appears in error messages, which is nicer.
`DefPathData::NestedStatic` is added to use for nested data inside statics instead of reusing `DefPathData::AnonConst` to avoid conflicts with those.
cc `@oli-obk`File tree
23 files changed
+246
-117
lines changed- compiler
- rustc_ast_lowering/src
- rustc_const_eval/src/interpret
- rustc_hir_analysis/src/collect
- rustc_hir/src
- rustc_middle/src/ty
- rustc_mir_transform/src/coroutine
- rustc_resolve/src
- rustc_sanitizers/src/cfi/typeid/itanium_cxx_abi
- rustc_symbol_mangling/src
- rustc_ty_utils/src
- tests
- ui-fulldeps/stable-mir
- ui
- delegation
- impl-trait/in-trait
- rfcs/rfc-1937-termination-trait
23 files changed
+246
-117
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
492 | 492 | | |
493 | 493 | | |
494 | 494 | | |
495 | | - | |
496 | 495 | | |
497 | | - | |
| 496 | + | |
498 | 497 | | |
499 | 498 | | |
500 | 499 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
500 | 500 | | |
501 | 501 | | |
502 | 502 | | |
503 | | - | |
504 | 503 | | |
505 | 504 | | |
506 | 505 | | |
507 | 506 | | |
508 | 507 | | |
| 508 | + | |
509 | 509 | | |
510 | 510 | | |
511 | 511 | | |
| |||
515 | 515 | | |
516 | 516 | | |
517 | 517 | | |
518 | | - | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
519 | 523 | | |
520 | 524 | | |
521 | 525 | | |
| |||
787 | 791 | | |
788 | 792 | | |
789 | 793 | | |
790 | | - | |
791 | 794 | | |
792 | 795 | | |
793 | 796 | | |
| |||
2113 | 2116 | | |
2114 | 2117 | | |
2115 | 2118 | | |
2116 | | - | |
2117 | | - | |
2118 | 2119 | | |
2119 | 2120 | | |
2120 | 2121 | | |
2121 | 2122 | | |
2122 | 2123 | | |
2123 | 2124 | | |
2124 | 2125 | | |
2125 | | - | |
| 2126 | + | |
2126 | 2127 | | |
2127 | 2128 | | |
2128 | 2129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
522 | 522 | | |
523 | 523 | | |
524 | 524 | | |
525 | | - | |
526 | 525 | | |
527 | 526 | | |
528 | 527 | | |
529 | 528 | | |
530 | 529 | | |
531 | 530 | | |
532 | | - | |
| 531 | + | |
533 | 532 | | |
534 | 533 | | |
535 | 534 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | | - | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
69 | 70 | | |
70 | 71 | | |
71 | 72 | | |
| |||
88 | 89 | | |
89 | 90 | | |
90 | 91 | | |
91 | | - | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
92 | 99 | | |
93 | 100 | | |
94 | 101 | | |
| |||
102 | 109 | | |
103 | 110 | | |
104 | 111 | | |
| 112 | + | |
105 | 113 | | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
106 | 118 | | |
107 | 119 | | |
108 | | - | |
| 120 | + | |
109 | 121 | | |
| 122 | + | |
| 123 | + | |
110 | 124 | | |
111 | 125 | | |
112 | 126 | | |
| |||
154 | 168 | | |
155 | 169 | | |
156 | 170 | | |
| 171 | + | |
| 172 | + | |
157 | 173 | | |
158 | 174 | | |
159 | 175 | | |
| |||
197 | 213 | | |
198 | 214 | | |
199 | 215 | | |
200 | | - | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
201 | 219 | | |
202 | 220 | | |
203 | 221 | | |
| |||
291 | 309 | | |
292 | 310 | | |
293 | 311 | | |
294 | | - | |
| 312 | + | |
295 | 313 | | |
296 | 314 | | |
297 | 315 | | |
| |||
313 | 331 | | |
314 | 332 | | |
315 | 333 | | |
316 | | - | |
317 | | - | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
318 | 337 | | |
319 | 338 | | |
320 | 339 | | |
| |||
340 | 359 | | |
341 | 360 | | |
342 | 361 | | |
343 | | - | |
| 362 | + | |
344 | 363 | | |
345 | 364 | | |
346 | 365 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
269 | 269 | | |
270 | 270 | | |
271 | 271 | | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
279 | | - | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
280 | 275 | | |
281 | | - | |
282 | | - | |
283 | | - | |
284 | 276 | | |
285 | 277 | | |
286 | 278 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
| 71 | + | |
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
100 | 119 | | |
101 | 120 | | |
102 | 121 | | |
103 | 122 | | |
104 | 123 | | |
105 | 124 | | |
106 | | - | |
107 | 125 | | |
108 | 126 | | |
109 | 127 | | |
| |||
127 | 145 | | |
128 | 146 | | |
129 | 147 | | |
130 | | - | |
| 148 | + | |
131 | 149 | | |
132 | 150 | | |
133 | 151 | | |
| |||
173 | 191 | | |
174 | 192 | | |
175 | 193 | | |
176 | | - | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
177 | 199 | | |
178 | 200 | | |
179 | 201 | | |
| |||
287 | 309 | | |
288 | 310 | | |
289 | 311 | | |
290 | | - | |
291 | | - | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
292 | 315 | | |
293 | 316 | | |
| 317 | + | |
| 318 | + | |
294 | 319 | | |
295 | 320 | | |
296 | 321 | | |
| |||
342 | 367 | | |
343 | 368 | | |
344 | 369 | | |
345 | | - | |
| 370 | + | |
346 | 371 | | |
347 | 372 | | |
348 | | - | |
349 | | - | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
350 | 384 | | |
351 | 385 | | |
352 | 386 | | |
353 | 387 | | |
354 | 388 | | |
355 | 389 | | |
356 | 390 | | |
357 | | - | |
| 391 | + | |
358 | 392 | | |
359 | 393 | | |
360 | 394 | | |
361 | 395 | | |
362 | | - | |
| 396 | + | |
363 | 397 | | |
364 | 398 | | |
365 | 399 | | |
| |||
422 | 456 | | |
423 | 457 | | |
424 | 458 | | |
425 | | - | |
426 | | - | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
427 | 483 | | |
428 | 484 | | |
429 | 485 | | |
| |||
443 | 499 | | |
444 | 500 | | |
445 | 501 | | |
446 | | - | |
| 502 | + | |
447 | 503 | | |
| 504 | + | |
448 | 505 | | |
449 | 506 | | |
450 | 507 | | |
| |||
0 commit comments