Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/data.rs')
-rw-r--r--crates/hir-def/src/data.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/crates/hir-def/src/data.rs b/crates/hir-def/src/data.rs
index 4fb4794d4a..91db68058b 100644
--- a/crates/hir-def/src/data.rs
+++ b/crates/hir-def/src/data.rs
@@ -468,7 +468,7 @@ pub struct ExternCrateDeclData {
pub name: Name,
pub alias: Option<ImportAlias>,
pub visibility: RawVisibility,
- pub crate_id: CrateId,
+ pub crate_id: Option<CrateId>,
}
impl ExternCrateDeclData {
@@ -482,15 +482,12 @@ impl ExternCrateDeclData {
let name = extern_crate.name.clone();
let crate_id = if name == hir_expand::name![self] {
- loc.container.krate()
+ Some(loc.container.krate())
} else {
db.crate_def_map(loc.container.krate())
.extern_prelude()
.find(|&(prelude_name, ..)| *prelude_name == name)
- // FIXME: Suspicious unwrap
- .unwrap()
- .1
- .krate()
+ .map(|(_, root)| root.krate())
};
Arc::new(Self {