Skip to content

Commit

Permalink
Auto merge of rust-lang#113980 - bvanjoi:fix-113953, r=petrochenkov
Browse files Browse the repository at this point in the history
fix(resolve): skip panic when resolution is dummy

Fixes rust-lang#113953

Skip the panic when the binding refers to a dummy node during the finalization.

r? `@petrochenkov`
  • Loading branch information
bors committed Jul 25, 2023
2 parents d24c4da + 4cc3834 commit 5b1dc9d
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 5 deletions.
13 changes: 8 additions & 5 deletions compiler/rustc_resolve/src/imports.rs
Original file line number Diff line number Diff line change
Expand Up @@ -989,14 +989,17 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
initial_binding.res()
});
let res = binding.res();
if res == Res::Err || !this.ambiguity_errors.is_empty() {
this.tcx
.sess
.delay_span_bug(import.span, "some error happened for an import");
return;
}
if let Ok(initial_res) = initial_res {
if res != initial_res && this.ambiguity_errors.is_empty() {
if res != initial_res {
span_bug!(import.span, "inconsistent resolution for an import");
}
} else if res != Res::Err
&& this.ambiguity_errors.is_empty()
&& this.privacy_errors.is_empty()
{
} else if this.privacy_errors.is_empty() {
this.tcx
.sess
.create_err(CannotDetermineImportResolution { span: import.span })
Expand Down
6 changes: 6 additions & 0 deletions tests/ui/imports/issue-113953.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// edition: 2021
use u8 as imported_u8;
use unresolved as u8;
//~^ ERROR unresolved import `unresolved`

fn main() {}
9 changes: 9 additions & 0 deletions tests/ui/imports/issue-113953.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
error[E0432]: unresolved import `unresolved`
--> $DIR/issue-113953.rs:3:5
|
LL | use unresolved as u8;
| ^^^^^^^^^^^^^^^^ no external crate `unresolved`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0432`.

0 comments on commit 5b1dc9d

Please sign in to comment.