resolve: Fix ICE in macro import error recovery
This commit is contained in:
parent
d586d5d2f5
commit
dd68685e48
@ -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…
x
Reference in New Issue
Block a user