diff options
Diffstat (limited to 'src/librustc_trans/base.rs')
| -rw-r--r-- | src/librustc_trans/base.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/librustc_trans/base.rs b/src/librustc_trans/base.rs index 3ab33c41346..7ab3499ead3 100644 --- a/src/librustc_trans/base.rs +++ b/src/librustc_trans/base.rs @@ -1082,7 +1082,10 @@ impl CrateInfo { used_crate_source: FxHashMap(), wasm_custom_sections: BTreeMap::new(), wasm_imports: FxHashMap(), + lang_item_to_crate: FxHashMap(), + missing_lang_items: FxHashMap(), }; + let lang_items = tcx.lang_items(); let load_wasm_items = tcx.sess.crate_types.borrow() .iter() @@ -1128,6 +1131,13 @@ impl CrateInfo { } info.load_wasm_imports(tcx, cnum); } + let missing = tcx.missing_lang_items(cnum); + for &item in missing.iter() { + if let Ok(id) = lang_items.require(item) { + info.lang_item_to_crate.insert(item, id.krate); + } + } + info.missing_lang_items.insert(cnum, missing); } return info |
