From abcca1c7d1136e64db2853b3c7e38a0417155b97 Mon Sep 17 00:00:00 2001 From: blake2-ppc Date: Mon, 30 Sep 2013 02:34:36 +0200 Subject: [PATCH] rustc: Convert lang_item to use an iterator --- src/librustc/metadata/encoder.rs | 5 ++--- src/librustc/middle/lang_items.rs | 6 ++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/librustc/metadata/encoder.rs b/src/librustc/metadata/encoder.rs index a2d9e86bf64..f84d9764714 100644 --- a/src/librustc/metadata/encoder.rs +++ b/src/librustc/metadata/encoder.rs @@ -1574,7 +1574,7 @@ fn encode_crate_deps(ecx: &EncodeContext, fn encode_lang_items(ecx: &EncodeContext, ebml_w: &mut writer::Encoder) { ebml_w.start_tag(tag_lang_items); - do ecx.tcx.lang_items.each_item |def_id, i| { + for (i, def_id) in ecx.tcx.lang_items.items() { for id in def_id.iter() { if id.crate == LOCAL_CRATE { ebml_w.start_tag(tag_lang_items_item); @@ -1590,8 +1590,7 @@ fn encode_lang_items(ecx: &EncodeContext, ebml_w: &mut writer::Encoder) { ebml_w.end_tag(); // tag_lang_items_item } } - true - }; + } ebml_w.end_tag(); // tag_lang_items } diff --git a/src/librustc/middle/lang_items.rs b/src/librustc/middle/lang_items.rs index 54eb71363ce..92c619eba0e 100644 --- a/src/librustc/middle/lang_items.rs +++ b/src/librustc/middle/lang_items.rs @@ -32,6 +32,8 @@ use syntax::visit; use syntax::visit::Visitor; use std::hashmap::HashMap; +use std::iter::Enumerate; +use std::vec; pub enum LangItem { FreezeTraitLangItem, // 0 @@ -92,8 +94,8 @@ impl LanguageItems { } } - pub fn each_item(&self, f: &fn(Option, uint) -> bool) -> bool { - self.items.iter().enumerate().advance(|(i, &item)| f(item, i)) + pub fn items<'a>(&'a self) -> Enumerate>> { + self.items.iter().enumerate() } pub fn item_name(index: uint) -> &'static str {