]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc/middle/lang_items.rs
Auto merge of #31077 - nagisa:mir-temp-promotion, r=dotdash
[rust.git] / src / librustc / middle / lang_items.rs
index 262c5c1422b7ccacacd61beb4cfbe767d361843b..ec55daca9ecdf137dc42bbb9c58a4efe1f57eb78 100644 (file)
@@ -23,7 +23,7 @@
 
 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;
@@ -33,8 +33,7 @@
 use syntax::attr::AttrMetaMethods;
 use syntax::codemap::{DUMMY_SP, Span};
 use syntax::parse::token::InternedString;
-use rustc_front::visit::Visitor;
-use rustc_front::visit;
+use rustc_front::intravisit::Visitor;
 use rustc_front::hir;
 
 use std::iter::Enumerate;
@@ -164,8 +163,6 @@ fn visit_item(&mut self, item: &hir::Item) {
                 self.collect_item(item_index, self.ast_map.local_def_id(item.id), item.span)
             }
         }
-
-        visit::walk_item(self, item);
     }
 }
 
@@ -202,18 +199,17 @@ pub fn collect_item(&mut self, item_index: usize,
     }
 
     pub fn collect_local_language_items(&mut self, krate: &hir::Crate) {
-        visit::walk_crate(self, krate);
+        krate.visit_all_items(self);
     }
 
     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, |node_id, item_index| {
-                let def_id = DefId { krate: crate_number, node: node_id };
+        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) {