diff options
| author | Marijn Haverbeke <marijnh@gmail.com> | 2011-05-24 20:58:38 +0200 |
|---|---|---|
| committer | Marijn Haverbeke <marijnh@gmail.com> | 2011-05-24 20:58:38 +0200 |
| commit | fbc0e840e3e660c0f0acd3e738d005b2a4aec00f (patch) | |
| tree | 26ae63af11644d8cf751a3849dd16808bf64e3c8 /src/comp | |
| parent | bad05e20a35318c7790990683bcdf2d254c8059a (diff) | |
| download | rust-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.rs | 9 |
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 } |
