This repository was archived by the owner on May 28, 2025. It is now read-only.
Commit 66ee1ac
authored
Rollup merge of rust-lang#121206 - nnethercote:top-level-error-handling, r=oli-obk
Top level error handling
The interactions between the following things are surprisingly complicated:
- `emit_stashed_diagnostics`,
- `flush_delayed`,
- normal return vs `abort_if_errors`/`FatalError.raise()` unwinding in the call to the closure in `interface::run_compiler`.
This PR disentangles it all.
r? `@oli-obk`File tree
27 files changed
+174
-156
lines changed- compiler
- rustc_ast_passes/src
- rustc_codegen_ssa/src
- back
- rustc_driver_impl/src
- rustc_errors/src
- rustc_incremental/src/persist
- rustc_infer/src/infer
- rustc_interface/src
- rustc_metadata/src
- rustc_middle/src/ty
- rustc_passes/src
- rustc_query_system/src/dep_graph
- rustc_session/src
- rustc_trait_selection/src/traits/error_reporting
- rustc_type_ir/src
- src
- librustdoc
- tools/miri/src/bin
- tests/ui
- impl-trait
- inference
- type-alias-impl-trait
27 files changed
+174
-156
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
881 | 881 | | |
882 | 882 | | |
883 | 883 | | |
884 | | - | |
885 | 884 | | |
886 | 885 | | |
887 | 886 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
487 | 487 | | |
488 | 488 | | |
489 | 489 | | |
490 | | - | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
491 | 493 | | |
492 | 494 | | |
493 | 495 | | |
| |||
720 | 722 | | |
721 | 723 | | |
722 | 724 | | |
723 | | - | |
724 | | - | |
725 | | - | |
726 | | - | |
| 725 | + | |
727 | 726 | | |
728 | 727 | | |
729 | 728 | | |
| |||
999 | 998 | | |
1000 | 999 | | |
1001 | 1000 | | |
1002 | | - | |
| 1001 | + | |
1003 | 1002 | | |
1004 | 1003 | | |
1005 | 1004 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
449 | 449 | | |
450 | 450 | | |
451 | 451 | | |
452 | | - | |
453 | | - | |
454 | | - | |
455 | | - | |
| 452 | + | |
456 | 453 | | |
457 | 454 | | |
458 | 455 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | 147 | | |
158 | 148 | | |
159 | 149 | | |
| |||
349 | 339 | | |
350 | 340 | | |
351 | 341 | | |
352 | | - | |
353 | | - | |
354 | | - | |
355 | 342 | | |
356 | 343 | | |
| 344 | + | |
| 345 | + | |
357 | 346 | | |
358 | 347 | | |
359 | 348 | | |
360 | 349 | | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
361 | 357 | | |
362 | 358 | | |
363 | 359 | | |
364 | 360 | | |
365 | 361 | | |
366 | | - | |
| 362 | + | |
367 | 363 | | |
368 | 364 | | |
369 | 365 | | |
370 | 366 | | |
371 | 367 | | |
372 | | - | |
| 368 | + | |
373 | 369 | | |
374 | 370 | | |
375 | 371 | | |
| |||
378 | 374 | | |
379 | 375 | | |
380 | 376 | | |
381 | | - | |
| 377 | + | |
382 | 378 | | |
383 | 379 | | |
384 | 380 | | |
385 | 381 | | |
386 | | - | |
| 382 | + | |
387 | 383 | | |
388 | 384 | | |
389 | 385 | | |
390 | | - | |
| 386 | + | |
391 | 387 | | |
392 | 388 | | |
393 | 389 | | |
| |||
659 | 655 | | |
660 | 656 | | |
661 | 657 | | |
662 | | - | |
663 | | - | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
664 | 661 | | |
665 | | - | |
| 662 | + | |
666 | 663 | | |
667 | 664 | | |
668 | 665 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
21 | | - | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
246 | | - | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
247 | 249 | | |
248 | 250 | | |
249 | 251 | | |
| |||
334 | 336 | | |
335 | 337 | | |
336 | 338 | | |
337 | | - | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
338 | 342 | | |
339 | 343 | | |
340 | 344 | | |
| |||
344 | 348 | | |
345 | 349 | | |
346 | 350 | | |
347 | | - | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
348 | 354 | | |
349 | 355 | | |
350 | 356 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
476 | 476 | | |
477 | 477 | | |
478 | 478 | | |
479 | | - | |
480 | | - | |
481 | | - | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
482 | 483 | | |
483 | 484 | | |
484 | 485 | | |
| |||
563 | 564 | | |
564 | 565 | | |
565 | 566 | | |
566 | | - | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
567 | 570 | | |
568 | 571 | | |
569 | 572 | | |
| |||
755 | 758 | | |
756 | 759 | | |
757 | 760 | | |
758 | | - | |
| 761 | + | |
759 | 762 | | |
760 | 763 | | |
761 | 764 | | |
762 | | - | |
| 765 | + | |
763 | 766 | | |
764 | | - | |
| 767 | + | |
765 | 768 | | |
766 | 769 | | |
767 | 770 | | |
768 | | - | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
769 | 779 | | |
770 | 780 | | |
771 | 781 | | |
| |||
774 | 784 | | |
775 | 785 | | |
776 | 786 | | |
777 | | - | |
778 | | - | |
779 | | - | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
780 | 791 | | |
781 | 792 | | |
782 | | - | |
783 | | - | |
784 | | - | |
785 | | - | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
786 | 796 | | |
787 | 797 | | |
788 | 798 | | |
789 | | - | |
790 | | - | |
791 | | - | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
792 | 802 | | |
793 | 803 | | |
794 | 804 | | |
795 | 805 | | |
796 | 806 | | |
797 | | - | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
798 | 810 | | |
799 | 811 | | |
800 | 812 | | |
| |||
869 | 881 | | |
870 | 882 | | |
871 | 883 | | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
872 | 888 | | |
873 | | - | |
874 | | - | |
875 | | - | |
| 889 | + | |
876 | 890 | | |
877 | 891 | | |
878 | 892 | | |
| |||
1273 | 1287 | | |
1274 | 1288 | | |
1275 | 1289 | | |
1276 | | - | |
| 1290 | + | |
| 1291 | + | |
1277 | 1292 | | |
1278 | 1293 | | |
1279 | | - | |
1280 | 1294 | | |
1281 | 1295 | | |
1282 | 1296 | | |
| |||
1289 | 1303 | | |
1290 | 1304 | | |
1291 | 1305 | | |
1292 | | - | |
| 1306 | + | |
1293 | 1307 | | |
| 1308 | + | |
1294 | 1309 | | |
1295 | 1310 | | |
1296 | 1311 | | |
| |||
1334 | 1349 | | |
1335 | 1350 | | |
1336 | 1351 | | |
1337 | | - | |
| 1352 | + | |
1338 | 1353 | | |
1339 | 1354 | | |
1340 | 1355 | | |
| |||
1451 | 1466 | | |
1452 | 1467 | | |
1453 | 1468 | | |
1454 | | - | |
| 1469 | + | |
1455 | 1470 | | |
1456 | 1471 | | |
1457 | 1472 | | |
1458 | | - | |
1459 | | - | |
| 1473 | + | |
| 1474 | + | |
1460 | 1475 | | |
1461 | 1476 | | |
1462 | | - | |
1463 | | - | |
1464 | | - | |
| 1477 | + | |
| 1478 | + | |
1465 | 1479 | | |
1466 | 1480 | | |
1467 | 1481 | | |
| |||
1484 | 1498 | | |
1485 | 1499 | | |
1486 | 1500 | | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
1487 | 1506 | | |
1488 | 1507 | | |
1489 | 1508 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
312 | 312 | | |
313 | 313 | | |
314 | 314 | | |
315 | | - | |
| 315 | + | |
316 | 316 | | |
317 | 317 | | |
318 | 318 | | |
| |||
0 commit comments