Skip to content

Commit 357f5d7

Browse files
committed
---
yaml --- r: 30394 b: refs/heads/incoming c: 1fcfee6 h: refs/heads/master v: v3
1 parent 0d32d67 commit 357f5d7

File tree

4 files changed

+33
-26
lines changed

4 files changed

+33
-26
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: d324a424d8f84b1eb049b12cf34182bda91b0024
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: d0c6ce338884ee21843f4b40bf6bf18d222ce5df
9-
refs/heads/incoming: 2572e8035522bd2002fab4ef777ad0290312ac71
9+
refs/heads/incoming: 1fcfee674a569b296d0da391af113a3776c749a1
1010
refs/heads/dist-snap: 2f32a1581f522e524009138b33b1c7049ced668d
1111
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1212
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/incoming/src/libcore/str.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,7 @@ Section: Comparing strings
713713
*/
714714

715715
/// Bytewise slice equality
716+
#[lang="str_eq"]
716717
pure fn eq_slice(a: &str, b: &str) -> bool {
717718
do as_buf(a) |ap, alen| {
718719
do as_buf(b) |bp, blen| {

branches/incoming/src/rustc/metadata/encoder.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,7 @@ fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: ebml::Writer, item: @item,
542542
encode_type_param_bounds(ebml_w, ecx, tps);
543543
encode_type(ecx, ebml_w, node_id_to_type(tcx, item.id));
544544
encode_path(ecx, ebml_w, path, ast_map::path_name(item.ident));
545+
encode_attributes(ebml_w, item.attrs);
545546
if tps.len() > 0u || should_inline(item.attrs) {
546547
ecx.encode_inlined_item(ecx, ebml_w, path, ii_item(item));
547548
} else {

branches/incoming/src/rustc/middle/lang_items.rs

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ use driver::session::session;
1313
use metadata::csearch::{each_path, get_item_attrs};
1414
use metadata::cstore::{iter_crate_data};
1515
use metadata::decoder::{dl_def, dl_field, dl_impl};
16-
use syntax::ast::{crate, def_id, def_ty, lit_str, meta_item, meta_list};
17-
use syntax::ast::{meta_name_value, meta_word};
16+
use syntax::ast::{crate, def_fn, def_id, def_ty, lit_str, meta_item};
17+
use syntax::ast::{meta_list, meta_name_value, meta_word};
1818
use syntax::ast_util::{local_def};
1919
use syntax::visit::{default_simple_visitor, mk_simple_visitor};
2020
use syntax::visit::{visit_crate, visit_item};
@@ -23,26 +23,28 @@ use std::map::{hashmap, str_hash};
2323
use str_eq = str::eq;
2424

2525
struct LanguageItems {
26-
mut const_trait: Option<def_id>;
27-
mut copy_trait: Option<def_id>;
28-
mut send_trait: Option<def_id>;
29-
mut owned_trait: Option<def_id>;
30-
31-
mut add_trait: Option<def_id>;
32-
mut sub_trait: Option<def_id>;
33-
mut mul_trait: Option<def_id>;
34-
mut div_trait: Option<def_id>;
35-
mut modulo_trait: Option<def_id>;
36-
mut neg_trait: Option<def_id>;
37-
mut bitxor_trait: Option<def_id>;
38-
mut bitand_trait: Option<def_id>;
39-
mut bitor_trait: Option<def_id>;
40-
mut shl_trait: Option<def_id>;
41-
mut shr_trait: Option<def_id>;
42-
mut index_trait: Option<def_id>;
43-
44-
mut eq_trait: Option<def_id>;
45-
mut ord_trait: Option<def_id>;
26+
mut const_trait: Option<def_id>,
27+
mut copy_trait: Option<def_id>,
28+
mut send_trait: Option<def_id>,
29+
mut owned_trait: Option<def_id>,
30+
31+
mut add_trait: Option<def_id>,
32+
mut sub_trait: Option<def_id>,
33+
mut mul_trait: Option<def_id>,
34+
mut div_trait: Option<def_id>,
35+
mut modulo_trait: Option<def_id>,
36+
mut neg_trait: Option<def_id>,
37+
mut bitxor_trait: Option<def_id>,
38+
mut bitand_trait: Option<def_id>,
39+
mut bitor_trait: Option<def_id>,
40+
mut shl_trait: Option<def_id>,
41+
mut shr_trait: Option<def_id>,
42+
mut index_trait: Option<def_id>,
43+
44+
mut eq_trait: Option<def_id>,
45+
mut ord_trait: Option<def_id>,
46+
47+
mut str_eq_fn: Option<def_id>
4648
}
4749

4850
mod LanguageItems {
@@ -67,7 +69,9 @@ mod LanguageItems {
6769
index_trait: None,
6870

6971
eq_trait: None,
70-
ord_trait: None
72+
ord_trait: None,
73+
74+
str_eq_fn: None
7175
}
7276
}
7377
}
@@ -99,6 +103,8 @@ fn LanguageItemCollector(crate: @crate, session: session,
99103
item_refs.insert(~"eq", &mut items.eq_trait);
100104
item_refs.insert(~"ord", &mut items.ord_trait);
101105

106+
item_refs.insert(~"str_eq", &mut items.str_eq_fn);
107+
102108
LanguageItemCollector {
103109
crate: crate,
104110
session: session,
@@ -117,7 +123,6 @@ struct LanguageItemCollector {
117123

118124
fn match_and_collect_meta_item(item_def_id: def_id,
119125
meta_item: meta_item) {
120-
121126
match meta_item.node {
122127
meta_name_value(key, literal) => {
123128
match literal.node {
@@ -183,7 +188,7 @@ struct LanguageItemCollector {
183188
for each_path(crate_store, crate_number) |path_entry| {
184189
let def_id;
185190
match path_entry.def_like {
186-
dl_def(def_ty(did)) => {
191+
dl_def(def_ty(did)) | dl_def(def_fn(did, _)) => {
187192
def_id = did;
188193
}
189194
dl_def(_) | dl_impl(_) | dl_field => {

0 commit comments

Comments
 (0)