about summary refs log tree commit diff
path: root/src/comp
diff options
context:
space:
mode:
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/driver/rustc.rs4
-rw-r--r--src/comp/front/ast.rs1
-rw-r--r--src/comp/middle/resolve.rs3
3 files changed, 4 insertions, 4 deletions
diff --git a/src/comp/driver/rustc.rs b/src/comp/driver/rustc.rs
index 3e8e72c7c53..049e74284fe 100644
--- a/src/comp/driver/rustc.rs
+++ b/src/comp/driver/rustc.rs
@@ -85,7 +85,7 @@ fn compile_input(session.session sess,
                  eval.env env,
                  str input, str output) {
     auto time_passes = sess.get_opts().time_passes;
-    auto def = tup(0, 0);
+    auto def = tup(ast.local_crate, 0);
     auto p = parser.new_parser(sess, env, def, input, 0u);
     auto crate = time[@ast.crate](time_passes, "parsing",
                                   bind parse_input(sess, p, input));
@@ -120,7 +120,7 @@ fn compile_input(session.session sess,
 fn pretty_print_input(session.session sess,
                              eval.env env,
                              str input) {
-    auto def = tup(0, 0);
+    auto def = tup(ast.local_crate, 0);
     auto p = front.parser.new_parser(sess, env, def, input, 0u);
     auto crate = front.parser.parse_crate_from_source_file(p);
     pretty.pprust.print_file(crate.node.module, input, std.IO.stdout());
diff --git a/src/comp/front/ast.rs b/src/comp/front/ast.rs
index 71d187ff02a..e7328d7ae3f 100644
--- a/src/comp/front/ast.rs
+++ b/src/comp/front/ast.rs
@@ -15,6 +15,7 @@ type path_ = rec(vec[ident] idents, vec[@ty] types);
 type path = spanned[path_];
 
 type crate_num = int;
+const crate_num local_crate = 0;
 type def_num = int;
 type def_id = tup(crate_num, def_num);
 
diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs
index 1e56f51447e..8a31ffba04d 100644
--- a/src/comp/middle/resolve.rs
+++ b/src/comp/middle/resolve.rs
@@ -591,8 +591,7 @@ fn lookup_in_mod_strict(&env e, def m, &span sp, ident id,
 fn lookup_in_mod(&env e, def m, ident id, namespace ns, dir dr)
     -> Option.t[def] {
     auto defid = ast.def_id_of_def(m);
-    // FIXME this causes way more metadata lookups than needed. Cache?
-    if (defid._0 != 0) { // Not in this crate (FIXME use a const, not 0)
+    if (defid._0 != ast.local_crate) { // Not in this crate
         auto cached = e.ext_cache.find(tup(defid,id));
         if (cached != none[def] && check_def_by_ns(Option.get(cached), ns)) {
             ret cached;