X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Flibrustc%2Fmiddle%2Fweak_lang_items.rs;h=6059d7ee74e390416f43a3f5eabc739990bd880a;hb=e6f0f7d52d69d0c4f290ac32c6eebf92bbf6dd81;hp=96c8e5c7d5218cddbf35bc9536604b3b3d60cff4;hpb=6872d13e967937e5b7e4204592d3d29ee85a692e;p=rust.git diff --git a/src/librustc/middle/weak_lang_items.rs b/src/librustc/middle/weak_lang_items.rs index 96c8e5c7d52..6059d7ee74e 100644 --- a/src/librustc/middle/weak_lang_items.rs +++ b/src/librustc/middle/weak_lang_items.rs @@ -12,14 +12,14 @@ use session::config; use session::Session; -use metadata::csearch; +use middle::cstore::CrateStore; use middle::lang_items; use syntax::ast; use syntax::codemap::Span; use syntax::parse::token::InternedString; -use rustc_front::visit::Visitor; -use rustc_front::visit; +use rustc_front::intravisit::Visitor; +use rustc_front::intravisit; use rustc_front::hir; use std::collections::HashSet; @@ -50,7 +50,7 @@ pub fn check_crate(krate: &hir::Crate, { let mut cx = Context { sess: sess, items: items }; - visit::walk_crate(&mut cx, krate); + krate.visit_all_items(&mut cx); } verify(sess, items); } @@ -79,11 +79,11 @@ fn verify(sess: &Session, items: &lang_items::LanguageItems) { if !needs_check { return } let mut missing = HashSet::new(); - sess.cstore.iter_crate_data(|cnum, _| { - for item in &csearch::get_missing_lang_items(&sess.cstore, cnum) { - missing.insert(*item); + for cnum in sess.cstore.crates() { + for item in sess.cstore.missing_lang_items(cnum) { + missing.insert(item); } - }); + } $( if missing.contains(&lang_items::$item) && items.$name().is_none() { @@ -102,8 +102,8 @@ fn register(&mut self, name: &str, span: Span) { } } else)* { span_err!(self.sess, span, E0264, - "unknown external lang item: `{}`", - name); + "unknown external lang item: `{}`", + name); } } } @@ -114,7 +114,7 @@ fn visit_foreign_item(&mut self, i: &hir::ForeignItem) { None => {} Some(lang_item) => self.register(&lang_item, i.span), } - visit::walk_foreign_item(self, i) + intravisit::walk_foreign_item(self, i) } }