Skip to content

Commit 31cc925

Browse files
committed
---
yaml --- r: 28110 b: refs/heads/try c: 3a15820 h: refs/heads/master v: v3
1 parent 7b2c69a commit 31cc925

File tree

3 files changed

+55
-38
lines changed

3 files changed

+55
-38
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: cd6f24f9d14ac90d167386a56e7a6ac1f0318195
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: cd6f24f9d14ac90d167386a56e7a6ac1f0318195
5-
refs/heads/try: 2bb056f4ab416b08a499b2229a3cca6404ce3c54
5+
refs/heads/try: 3a1582012eafb8b672e15b12b5424e72ea6096af
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: d0c6ce338884ee21843f4b40bf6bf18d222ce5df

branches/try/src/libcore/cmp.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@
44

55
/// Interfaces used for comparison.
66
7+
#[cfg(notest)]
8+
#[lang="ord"]
79
trait Ord {
810
pure fn lt(&&other: self) -> bool;
911
}
1012

13+
#[cfg(notest)]
14+
#[lang="eq"]
1115
trait Eq {
1216
pure fn eq(&&other: self) -> bool;
1317
}

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

Lines changed: 50 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -23,42 +23,52 @@ import std::map::{hashmap, str_hash};
2323
import str_eq = str::eq;
2424

2525
struct LanguageItems {
26-
let mut const_trait: Option<def_id>;
27-
let mut copy_trait: Option<def_id>;
28-
let mut send_trait: Option<def_id>;
29-
let mut owned_trait: Option<def_id>;
30-
31-
let mut add_trait: Option<def_id>;
32-
let mut sub_trait: Option<def_id>;
33-
let mut mul_trait: Option<def_id>;
34-
let mut div_trait: Option<def_id>;
35-
let mut modulo_trait: Option<def_id>;
36-
let mut neg_trait: Option<def_id>;
37-
let mut bitxor_trait: Option<def_id>;
38-
let mut bitand_trait: Option<def_id>;
39-
let mut bitor_trait: Option<def_id>;
40-
let mut shl_trait: Option<def_id>;
41-
let mut shr_trait: Option<def_id>;
42-
let mut index_trait: Option<def_id>;
43-
44-
new() {
45-
self.const_trait = None;
46-
self.copy_trait = None;
47-
self.send_trait = None;
48-
self.owned_trait = None;
49-
50-
self.add_trait = None;
51-
self.sub_trait = None;
52-
self.mul_trait = None;
53-
self.div_trait = None;
54-
self.modulo_trait = None;
55-
self.neg_trait = None;
56-
self.bitxor_trait = None;
57-
self.bitand_trait = None;
58-
self.bitor_trait = None;
59-
self.shl_trait = None;
60-
self.shr_trait = None;
61-
self.index_trait = None;
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+
48+
mod LanguageItems {
49+
fn make() -> LanguageItems {
50+
LanguageItems {
51+
const_trait: None,
52+
copy_trait: None,
53+
send_trait: None,
54+
owned_trait: None,
55+
56+
add_trait: None,
57+
sub_trait: None,
58+
mul_trait: None,
59+
div_trait: None,
60+
modulo_trait: None,
61+
neg_trait: None,
62+
bitxor_trait: None,
63+
bitand_trait: None,
64+
bitor_trait: None,
65+
shl_trait: None,
66+
shr_trait: None,
67+
index_trait: None,
68+
69+
eq_trait: None,
70+
ord_trait: None
71+
}
6272
}
6373
}
6474

@@ -93,6 +103,9 @@ struct LanguageItemCollector {
93103
self.item_refs.insert(~"shl", &mut self.items.shl_trait);
94104
self.item_refs.insert(~"shr", &mut self.items.shr_trait);
95105
self.item_refs.insert(~"index", &mut self.items.index_trait);
106+
107+
self.item_refs.insert(~"eq", &mut self.items.eq_trait);
108+
self.item_refs.insert(~"ord", &mut self.items.ord_trait);
96109
}
97110

98111
fn match_and_collect_meta_item(item_def_id: def_id,
@@ -202,7 +215,7 @@ struct LanguageItemCollector {
202215
}
203216

204217
fn collect_language_items(crate: @crate, session: session) -> LanguageItems {
205-
let items = LanguageItems();
218+
let items = LanguageItems::make();
206219
let collector = LanguageItemCollector(crate, session, &items);
207220
collector.collect();
208221
copy items

0 commit comments

Comments
 (0)