fix(resolve): skip panic when resolution is dummy

This commit is contained in:
bohan 2023-07-23 20:21:53 +08:00
parent cb6ab9516b
commit 02f1f6a8a8
3 changed files with 19 additions and 1 deletions

View File

@ -990,7 +990,10 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
}); });
let res = binding.res(); let res = binding.res();
if let Ok(initial_res) = initial_res { if let Ok(initial_res) = initial_res {
if res != initial_res && this.ambiguity_errors.is_empty() { if res != initial_res
&& this.ambiguity_errors.is_empty()
&& res != Res::Err
{
span_bug!(import.span, "inconsistent resolution for an import"); span_bug!(import.span, "inconsistent resolution for an import");
} }
} else if res != Res::Err } else if res != Res::Err

View File

@ -0,0 +1,6 @@
// edition: 2021
use u8 as imported_u8;
use unresolved as u8;
//~^ ERROR unresolved import `unresolved`
fn main() {}

View File

@ -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`.