Skip to content

Commit abcca1c

Browse files
author
blake2-ppc
committed
rustc: Convert lang_item to use an iterator
1 parent 8e69c05 commit abcca1c

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

src/librustc/metadata/encoder.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1574,7 +1574,7 @@ fn encode_crate_deps(ecx: &EncodeContext,
15741574
fn encode_lang_items(ecx: &EncodeContext, ebml_w: &mut writer::Encoder) {
15751575
ebml_w.start_tag(tag_lang_items);
15761576

1577-
do ecx.tcx.lang_items.each_item |def_id, i| {
1577+
for (i, def_id) in ecx.tcx.lang_items.items() {
15781578
for id in def_id.iter() {
15791579
if id.crate == LOCAL_CRATE {
15801580
ebml_w.start_tag(tag_lang_items_item);
@@ -1590,8 +1590,7 @@ fn encode_lang_items(ecx: &EncodeContext, ebml_w: &mut writer::Encoder) {
15901590
ebml_w.end_tag(); // tag_lang_items_item
15911591
}
15921592
}
1593-
true
1594-
};
1593+
}
15951594

15961595
ebml_w.end_tag(); // tag_lang_items
15971596
}

src/librustc/middle/lang_items.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ use syntax::visit;
3232
use syntax::visit::Visitor;
3333

3434
use std::hashmap::HashMap;
35+
use std::iter::Enumerate;
36+
use std::vec;
3537

3638
pub enum LangItem {
3739
FreezeTraitLangItem, // 0
@@ -92,8 +94,8 @@ impl LanguageItems {
9294
}
9395
}
9496

95-
pub fn each_item(&self, f: &fn(Option<DefId>, uint) -> bool) -> bool {
96-
self.items.iter().enumerate().advance(|(i, &item)| f(item, i))
97+
pub fn items<'a>(&'a self) -> Enumerate<vec::VecIterator<'a, Option<DefId>>> {
98+
self.items.iter().enumerate()
9799
}
98100

99101
pub fn item_name(index: uint) -> &'static str {

0 commit comments

Comments
 (0)