Skip to content

Commit 07aa861

Browse files
committed
---
yaml --- r: 95051 b: refs/heads/dist-snap c: 8174618 h: refs/heads/master i: 95049: 01afc6c 95047: ebeeb69 v: v3
1 parent 97376fb commit 07aa861

File tree

4 files changed

+53
-56
lines changed

4 files changed

+53
-56
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: c274a6888410ce3e357e014568b43310ed787d36
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: b617569583e6b15d487c44ec6f7af866f2064d77
9+
refs/heads/dist-snap: 8174618a05c44a9b90806aa7b848cb9b7ab62d25
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/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
}

branches/dist-snap/src/librustc/middle/lang_items.rs

Lines changed: 50 additions & 48 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 {
@@ -298,7 +300,7 @@ struct LanguageItemCollector<'self> {
298300
crate: &'self Crate,
299301
session: Session,
300302

301-
item_refs: HashMap<@str, uint>,
303+
item_refs: HashMap<&'static str, uint>,
302304
}
303305

304306
struct LanguageItemVisitor<'self> {
@@ -327,51 +329,51 @@ impl<'self> LanguageItemCollector<'self> {
327329
-> LanguageItemCollector<'a> {
328330
let mut item_refs = HashMap::new();
329331

330-
item_refs.insert(@"freeze", FreezeTraitLangItem as uint);
331-
item_refs.insert(@"send", SendTraitLangItem as uint);
332-
item_refs.insert(@"sized", SizedTraitLangItem as uint);
333-
334-
item_refs.insert(@"drop", DropTraitLangItem as uint);
335-
336-
item_refs.insert(@"add", AddTraitLangItem as uint);
337-
item_refs.insert(@"sub", SubTraitLangItem as uint);
338-
item_refs.insert(@"mul", MulTraitLangItem as uint);
339-
item_refs.insert(@"div", DivTraitLangItem as uint);
340-
item_refs.insert(@"rem", RemTraitLangItem as uint);
341-
item_refs.insert(@"neg", NegTraitLangItem as uint);
342-
item_refs.insert(@"not", NotTraitLangItem as uint);
343-
item_refs.insert(@"bitxor", BitXorTraitLangItem as uint);
344-
item_refs.insert(@"bitand", BitAndTraitLangItem as uint);
345-
item_refs.insert(@"bitor", BitOrTraitLangItem as uint);
346-
item_refs.insert(@"shl", ShlTraitLangItem as uint);
347-
item_refs.insert(@"shr", ShrTraitLangItem as uint);
348-
item_refs.insert(@"index", IndexTraitLangItem as uint);
349-
350-
item_refs.insert(@"eq", EqTraitLangItem as uint);
351-
item_refs.insert(@"ord", OrdTraitLangItem as uint);
352-
353-
item_refs.insert(@"str_eq", StrEqFnLangItem as uint);
354-
item_refs.insert(@"uniq_str_eq", UniqStrEqFnLangItem as uint);
355-
item_refs.insert(@"fail_", FailFnLangItem as uint);
356-
item_refs.insert(@"fail_bounds_check",
332+
item_refs.insert("freeze", FreezeTraitLangItem as uint);
333+
item_refs.insert("send", SendTraitLangItem as uint);
334+
item_refs.insert("sized", SizedTraitLangItem as uint);
335+
336+
item_refs.insert("drop", DropTraitLangItem as uint);
337+
338+
item_refs.insert("add", AddTraitLangItem as uint);
339+
item_refs.insert("sub", SubTraitLangItem as uint);
340+
item_refs.insert("mul", MulTraitLangItem as uint);
341+
item_refs.insert("div", DivTraitLangItem as uint);
342+
item_refs.insert("rem", RemTraitLangItem as uint);
343+
item_refs.insert("neg", NegTraitLangItem as uint);
344+
item_refs.insert("not", NotTraitLangItem as uint);
345+
item_refs.insert("bitxor", BitXorTraitLangItem as uint);
346+
item_refs.insert("bitand", BitAndTraitLangItem as uint);
347+
item_refs.insert("bitor", BitOrTraitLangItem as uint);
348+
item_refs.insert("shl", ShlTraitLangItem as uint);
349+
item_refs.insert("shr", ShrTraitLangItem as uint);
350+
item_refs.insert("index", IndexTraitLangItem as uint);
351+
352+
item_refs.insert("eq", EqTraitLangItem as uint);
353+
item_refs.insert("ord", OrdTraitLangItem as uint);
354+
355+
item_refs.insert("str_eq", StrEqFnLangItem as uint);
356+
item_refs.insert("uniq_str_eq", UniqStrEqFnLangItem as uint);
357+
item_refs.insert("fail_", FailFnLangItem as uint);
358+
item_refs.insert("fail_bounds_check",
357359
FailBoundsCheckFnLangItem as uint);
358-
item_refs.insert(@"exchange_malloc", ExchangeMallocFnLangItem as uint);
359-
item_refs.insert(@"closure_exchange_malloc", ClosureExchangeMallocFnLangItem as uint);
360-
item_refs.insert(@"exchange_free", ExchangeFreeFnLangItem as uint);
361-
item_refs.insert(@"malloc", MallocFnLangItem as uint);
362-
item_refs.insert(@"free", FreeFnLangItem as uint);
363-
item_refs.insert(@"borrow_as_imm", BorrowAsImmFnLangItem as uint);
364-
item_refs.insert(@"borrow_as_mut", BorrowAsMutFnLangItem as uint);
365-
item_refs.insert(@"return_to_mut", ReturnToMutFnLangItem as uint);
366-
item_refs.insert(@"check_not_borrowed",
360+
item_refs.insert("exchange_malloc", ExchangeMallocFnLangItem as uint);
361+
item_refs.insert("closure_exchange_malloc", ClosureExchangeMallocFnLangItem as uint);
362+
item_refs.insert("exchange_free", ExchangeFreeFnLangItem as uint);
363+
item_refs.insert("malloc", MallocFnLangItem as uint);
364+
item_refs.insert("free", FreeFnLangItem as uint);
365+
item_refs.insert("borrow_as_imm", BorrowAsImmFnLangItem as uint);
366+
item_refs.insert("borrow_as_mut", BorrowAsMutFnLangItem as uint);
367+
item_refs.insert("return_to_mut", ReturnToMutFnLangItem as uint);
368+
item_refs.insert("check_not_borrowed",
367369
CheckNotBorrowedFnLangItem as uint);
368-
item_refs.insert(@"strdup_uniq", StrDupUniqFnLangItem as uint);
369-
item_refs.insert(@"record_borrow", RecordBorrowFnLangItem as uint);
370-
item_refs.insert(@"unrecord_borrow", UnrecordBorrowFnLangItem as uint);
371-
item_refs.insert(@"start", StartFnLangItem as uint);
372-
item_refs.insert(@"ty_desc", TyDescStructLangItem as uint);
373-
item_refs.insert(@"ty_visitor", TyVisitorTraitLangItem as uint);
374-
item_refs.insert(@"opaque", OpaqueStructLangItem as uint);
370+
item_refs.insert("strdup_uniq", StrDupUniqFnLangItem as uint);
371+
item_refs.insert("record_borrow", RecordBorrowFnLangItem as uint);
372+
item_refs.insert("unrecord_borrow", UnrecordBorrowFnLangItem as uint);
373+
item_refs.insert("start", StartFnLangItem as uint);
374+
item_refs.insert("ty_desc", TyDescStructLangItem as uint);
375+
item_refs.insert("ty_visitor", TyVisitorTraitLangItem as uint);
376+
item_refs.insert("opaque", OpaqueStructLangItem as uint);
375377

376378
LanguageItemCollector {
377379
crate: crate,
@@ -416,8 +418,8 @@ impl<'self> LanguageItemCollector<'self> {
416418
return; // Didn't match.
417419
}
418420

419-
let item_index = self.item_refs.find(&value).map_move(|x| *x);
420-
// prevent borrow checker from considering ^~~~~~~~~~~
421+
let item_index = self.item_refs.find_equiv(&value).map_move(|x| *x);
422+
// prevent borrow checker from considering ^~~~~~~~~~~
421423
// self to be borrowed (annoying)
422424

423425
match item_index {

branches/dist-snap/src/libstd/rt/uv/net.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,6 @@ mod test {
624624
}
625625
626626
#[test]
627-
#[ignore(cfg(windows))] // FIXME #8815
628627
fn listen_ip4() {
629628
do run_in_bare_thread() {
630629
static MAX: int = 10;
@@ -699,7 +698,6 @@ mod test {
699698
}
700699
701700
#[test]
702-
#[ignore(cfg(windows))] // FIXME #8815
703701
fn listen_ip6() {
704702
do run_in_bare_thread() {
705703
static MAX: int = 10;
@@ -776,7 +774,6 @@ mod test {
776774
}
777775
778776
#[test]
779-
#[ignore(cfg(windows))] // FIXME #8815
780777
fn udp_recv_ip4() {
781778
do run_in_bare_thread() {
782779
static MAX: int = 10;
@@ -837,7 +834,6 @@ mod test {
837834
}
838835
839836
#[test]
840-
#[ignore(cfg(windows))] // FIXME #8815
841837
fn udp_recv_ip6() {
842838
do run_in_bare_thread() {
843839
static MAX: int = 10;

0 commit comments

Comments
 (0)