Commit 43ba840
authored
Rollup merge of rust-lang#74071 - petrochenkov:cload3, r=matthewjasper
rustc_metadata: Make crate loading fully speculative
Instead of reporting `span_err`s on the spot crate loading errors are now wrapped into the `CrateError` enum and returned, so they are reported only at the top level `resolve_crate` call, and not reported at all if we are resolving speculatively with `maybe_resolve_crate`.
As a result we can attempt loading crates for error recovery (e.g. import suggestions) without any risk of producing extra errors.
Also, this means better separation between error reporting and actual logic.
Fixes rust-lang#55103
Fixes rust-lang#56590File tree
16 files changed
+474
-543
lines changed- src
- librustc_error_codes
- librustc_metadata
- librustc_plugin_impl
- librustc_resolve
- late
- test
- compile-fail
- ui-fulldeps
- ui
- extern
- rfc-2457
- tools/tidy/src
16 files changed
+474
-543
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
554 | 554 | | |
555 | 555 | | |
556 | 556 | | |
557 | | - | |
| 557 | + | |
558 | 558 | | |
559 | 559 | | |
560 | 560 | | |
| |||
0 commit comments