about summary refs log tree commit diff
path: root/src/comp
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2011-05-24 20:58:38 +0200
committerMarijn Haverbeke <marijnh@gmail.com>2011-05-24 20:58:38 +0200
commitfbc0e840e3e660c0f0acd3e738d005b2a4aec00f (patch)
tree26ae63af11644d8cf751a3849dd16808bf64e3c8 /src/comp
parentbad05e20a35318c7790990683bcdf2d254c8059a (diff)
downloadrust-fbc0e840e3e660c0f0acd3e738d005b2a4aec00f.tar.gz
rust-fbc0e840e3e660c0f0acd3e738d005b2a4aec00f.zip
Stop showing a 'cyclic import' message for unresolved imports
This only happened for single-length import paths, because the import
was being looked up in its own scope.
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/middle/resolve.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs
index 608bcf0b00a..439546a2b4a 100644
--- a/src/comp/middle/resolve.rs
+++ b/src/comp/middle/resolve.rs
@@ -323,10 +323,11 @@ fn resolve_import(&env e, &@ast::view_item it, &list[scope] sc) {
     auto end_id = ids.(n_idents - 1u);
 
     if (n_idents == 1u) {
+        auto next_sc = std::list::cdr(sc);
         register(e, defid, it.span, end_id,
-                 lookup_in_scope(e, sc, it.span, end_id, ns_value),
-                 lookup_in_scope(e, sc, it.span, end_id, ns_type),
-                 lookup_in_scope(e, sc, it.span, end_id, ns_module));
+                 lookup_in_scope(e, next_sc, it.span, end_id, ns_value),
+                 lookup_in_scope(e, next_sc, it.span, end_id, ns_type),
+                 lookup_in_scope(e, next_sc, it.span, end_id, ns_module));
     } else {
         auto dcur = lookup_in_scope_strict(e, sc, it.span, ids.(0),
                                            ns_module);
@@ -724,7 +725,7 @@ fn lookup_import(&env e, def_id defid, namespace ns) -> option::t[def] {
             ret lookup_import(e, defid, ns);
         }
         case (resolving(?sp)) {
-            e.sess.span_err(sp, "cyclic import or nonexistent module");
+            e.sess.span_err(sp, "cyclic import");
         }
         case (resolved(?val, ?typ, ?md)) {
             ret alt (ns) { case (ns_value) { val }