Only add extra imported modules when it's the root

This commit is contained in:
Richard Feldman 2022-12-24 22:50:47 -05:00
parent 1e0f5c2b28
commit 73fa34ba31
No known key found for this signature in database
GPG key ID: F1F21AA5B1D9E43B

View file

@ -4546,32 +4546,28 @@ fn build_header<'a>(
// This module depends on all the modules it exposes. We need to load those in order // This module depends on all the modules it exposes. We need to load those in order
// to do things like report errors for them, generate docs for them, etc. // to do things like report errors for them, generate docs for them, etc.
if let HeaderType::Platform { if info.is_root_module {
exposes, if let HeaderType::Platform {
exposes_ids, exposes,
config_shorthand, exposes_ids,
.. ..
} }
| HeaderType::Package { | HeaderType::Package {
exposes, exposes,
exposes_ids, exposes_ids,
config_shorthand, ..
.. } = header_type
} = header_type {
{ for (loc_module_name, module_id) in exposes.iter().zip(exposes_ids.iter().copied()) {
for (loc_module_name, module_id) in exposes.iter().zip(exposes_ids.iter().copied()) { let module_name_str = loc_module_name.value.as_str();
let module_name_str = loc_module_name.value.as_str(); let pq_module_name = PackageQualified::Unqualified(module_name_str.into());
let pq_module_name = if info.is_root_module {
PackageQualified::Unqualified(module_name_str.into())
} else {
PackageQualified::Qualified(config_shorthand, module_name_str.into())
};
debug_assert!(!deps_by_name.contains_key(&pq_module_name)); debug_assert!(!deps_by_name.contains_key(&pq_module_name));
deps_by_name.insert(pq_module_name, module_id); deps_by_name.insert(pq_module_name, module_id);
debug_assert!(!imported_modules.contains_key(&module_id)); debug_assert!(!imported_modules.contains_key(&module_id));
imported_modules.insert(module_id, loc_module_name.region); imported_modules.insert(module_id, loc_module_name.region);
}
} }
} }