about summary refs log tree commit diff
path: root/src/comp/middle
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2011-03-29 18:15:59 -0700
committerPatrick Walton <pcwalton@mimiga.net>2011-03-29 18:16:53 -0700
commit301cfe135485e18666f1859ccf3e39ae4b91f564 (patch)
tree66800ce3ff1ab30069f468e4c62db2d5479804e4 /src/comp/middle
parentb09e09c6736136717436d092c8cfcf82873a46e9 (diff)
rustc: Add all items to the item table during translation. lib-vec now compiles, but asserts and then segfaults.
Diffstat (limited to 'src/comp/middle')
-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 87e02e8a763..32c314b75ea 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));
 }