aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Walton <[email protected]>2011-03-29 18:15:59 -0700
committerPatrick Walton <[email protected]>2011-03-29 18:16:53 -0700
commit301cfe135485e18666f1859ccf3e39ae4b91f564 (patch)
tree66800ce3ff1ab30069f468e4c62db2d5479804e4
parentrustc: Un-XFAIL lib-uint.rs (diff)
downloadrust-301cfe135485e18666f1859ccf3e39ae4b91f564.tar.xz
rust-301cfe135485e18666f1859ccf3e39ae4b91f564.zip
rustc: Add all items to the item table during translation. lib-vec now compiles, but asserts and then segfaults.
-rw-r--r--src/comp/middle/trans.rs17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index 87e02e8a..32c314b7 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -6087,14 +6087,29 @@ fn collect_item(&@crate_ctxt cx, @ast.item i) -> @crate_ctxt {
cx.consts.insert(cid, g);
}
+ case (ast.item_fn(_, _, _, ?did, _)) {
+ // handled below
+ }
+
case (ast.item_mod(?name, ?m, ?mid)) {
cx.items.insert(mid, i);
}
+ case (ast.item_native_mod(_, _, _)) {
+ // empty
+ }
+
+ case (ast.item_ty(_, _, _, ?did, _)) {
+ cx.items.insert(did, i);
+ }
+
case (ast.item_tag(?name, ?variants, ?tps, ?tag_id)) {
cx.items.insert(tag_id, i);
}
- case (_) { /* fall through */ }
+
+ case (ast.item_obj(_, _, _, ?did, _)) {
+ // handled below
+ }
}
ret extend_path(cx, item_name(i));
}