Rollup merge of #55490 - petrochenkov:resolveice, r=eddyb
resolve: Fix ICE in macro import error recovery Fixes https://github.com/rust-lang/rust/issues/55457
This commit is contained in:
commit
1525b0ee82
3 changed files with 42 additions and 0 deletions
|
@ -449,6 +449,9 @@ impl<'a, 'cl> Resolver<'a, 'cl> {
|
|||
return Err(Determinacy::Determined);
|
||||
}
|
||||
}
|
||||
Def::Err => {
|
||||
return Err(Determinacy::Determined);
|
||||
}
|
||||
_ => panic!("expected `Def::Macro` or `Def::NonMacroAttr`"),
|
||||
}
|
||||
|
||||
|
|
8
src/test/ui/imports/issue-55457.rs
Normal file
8
src/test/ui/imports/issue-55457.rs
Normal file
|
@ -0,0 +1,8 @@
|
|||
use NonExistent; //~ ERROR unresolved import `NonExistent`
|
||||
use non_existent::non_existent; //~ ERROR unresolved import `non_existent`
|
||||
|
||||
#[non_existent] //~ ERROR cannot determine resolution for the attribute macro `non_existent`
|
||||
#[derive(NonExistent)] //~ ERROR cannot determine resolution for the derive macro `NonExistent`
|
||||
struct S;
|
||||
|
||||
fn main() {}
|
31
src/test/ui/imports/issue-55457.stderr
Normal file
31
src/test/ui/imports/issue-55457.stderr
Normal file
|
@ -0,0 +1,31 @@
|
|||
error[E0432]: unresolved import `NonExistent`
|
||||
--> $DIR/issue-55457.rs:1:5
|
||||
|
|
||||
LL | use NonExistent; //~ ERROR unresolved import `NonExistent`
|
||||
| ^^^^^^^^^^^ no `NonExistent` in the root. Did you mean to use `non_existent`?
|
||||
|
||||
error[E0432]: unresolved import `non_existent`
|
||||
--> $DIR/issue-55457.rs:2:5
|
||||
|
|
||||
LL | use non_existent::non_existent; //~ ERROR unresolved import `non_existent`
|
||||
| ^^^^^^^^^^^^ Maybe a missing `extern crate non_existent;`?
|
||||
|
||||
error: cannot determine resolution for the derive macro `NonExistent`
|
||||
--> $DIR/issue-55457.rs:5:10
|
||||
|
|
||||
LL | #[derive(NonExistent)] //~ ERROR cannot determine resolution for the derive macro `NonExistent`
|
||||
| ^^^^^^^^^^^
|
||||
|
|
||||
= note: import resolution is stuck, try simplifying macro imports
|
||||
|
||||
error: cannot determine resolution for the attribute macro `non_existent`
|
||||
--> $DIR/issue-55457.rs:4:3
|
||||
|
|
||||
LL | #[non_existent] //~ ERROR cannot determine resolution for the attribute macro `non_existent`
|
||||
| ^^^^^^^^^^^^
|
||||
|
|
||||
= note: import resolution is stuck, try simplifying macro imports
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0432`.
|
Loading…
Add table
Add a link
Reference in a new issue