about summary refs log tree commit diff
path: root/src/rustc
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-07-18 15:14:23 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-07-18 18:02:07 -0700
commit3119afc6e844fea76512e45c392bdcbeeeec2c00 (patch)
tree581c2d0cdaa35439170f1c0b0ff17927cd1e048a /src/rustc
parentde5d5e6eebbfdd660b2587763b122bc9df3eeb8f (diff)
downloadrust-3119afc6e844fea76512e45c392bdcbeeeec2c00.tar.gz
rust-3119afc6e844fea76512e45c392bdcbeeeec2c00.zip
In resolve3, error on non-existent imports
Closes #2937
Diffstat (limited to 'src/rustc')
-rw-r--r--src/rustc/middle/resolve3.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/rustc/middle/resolve3.rs b/src/rustc/middle/resolve3.rs
index 7bbb43a14f9..3803d9634e5 100644
--- a/src/rustc/middle/resolve3.rs
+++ b/src/rustc/middle/resolve3.rs
@@ -1904,6 +1904,16 @@ class Resolver {
             }
         }
 
+        let i = import_resolution;
+        alt (i.module_target, i.value_target, i.type_target, i.impl_target) {
+          /*
+            If this name wasn't found in any of the four namespaces, it's
+            definitely unresolved
+           */
+          (none, none, none, v) if v.len() == 0 { ret Failed; }
+          _ {}
+        }
+
         assert import_resolution.outstanding_references >= 1u;
         import_resolution.outstanding_references -= 1u;