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 } diff --git a/src/test/compile-fail/bad-module.rs b/src/test/compile-fail/bad-module.rs index d9d35f327f5..76ba22dcbf9 100644 --- a/src/test/compile-fail/bad-module.rs +++ b/src/test/compile-fail/bad-module.rs @@ -1,7 +1,7 @@ // xfail-stage0 -// error-pattern: nonexistent module +// error-pattern: unresolved import: vec import vec; fn main() { - auto foo = vec.len([]); + auto foo = vec::len([]); } \ No newline at end of file diff --git a/src/test/compile-fail/import-loop.rs b/src/test/compile-fail/import-loop.rs index 649e2d5d3bc..7867c00f00e 100644 --- a/src/test/compile-fail/import-loop.rs +++ b/src/test/compile-fail/import-loop.rs @@ -1,7 +1,10 @@ -// error-pattern:cyclic import +// error-pattern: cyclic import -import x; +import y::x; + +mod y { + import x; +} fn main() { - auto y = x; }