about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2011-05-24 10:46:48 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2011-05-24 10:47:58 -0700
commitbad05e20a35318c7790990683bcdf2d254c8059a (patch)
treec3f431ef2bb0904a3ce26e1804da69369a5b9428
parent029c1e71ff8a293b35091fb2d75a7d542453bf7c (diff)
Improve nonexistent-module error message
The error message for (for example) "import vec;" without "use std;"
was "cyclic import", which was misleading because there were no
cycles. I changed it to "cyclic import or nonexistent module",
which doesn't break existing tests.
-rw-r--r--src/comp/middle/resolve.rs2
-rw-r--r--src/test/compile-fail/bad-module.rs7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs
index 201e456dbc1..608bcf0b00a 100644
--- a/src/comp/middle/resolve.rs
+++ b/src/comp/middle/resolve.rs
@@ -724,7 +724,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");
+            e.sess.span_err(sp, "cyclic import or nonexistent module");
         }
         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
new file mode 100644
index 00000000000..d9d35f327f5
--- /dev/null
+++ b/src/test/compile-fail/bad-module.rs
@@ -0,0 +1,7 @@
+// xfail-stage0
+// error-pattern: nonexistent module
+import vec;
+
+fn main() {
+  auto foo = vec.len([]);
+}
\ No newline at end of file