use front::map as hir_map;
use session::Session;
-use metadata::csearch::each_lang_item;
+use middle::cstore::CrateStore;
use middle::def_id::DefId;
use middle::ty;
use middle::weak_lang_items;
}
pub fn collect_external_language_items(&mut self) {
- let crate_store = &self.session.cstore;
- crate_store.iter_crate_data(|crate_number, _crate_metadata| {
- each_lang_item(crate_store, crate_number, |index, item_index| {
- let def_id = DefId { krate: crate_number, index: index };
+ let cstore = &self.session.cstore;
+ for cnum in cstore.crates() {
+ for (index, item_index) in cstore.lang_items(cnum) {
+ let def_id = DefId { krate: cnum, index: index };
self.collect_item(item_index, def_id, DUMMY_SP);
- true
- });
- })
+ }
+ }
}
pub fn collect(&mut self, krate: &hir::Crate) {