aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile1
-rw-r--r--src/comp/middle/resolve.rs6
-rw-r--r--src/test/compile-fail/import3.rs6
3 files changed, 13 insertions, 0 deletions
diff --git a/src/Makefile b/src/Makefile
index 11b63f54..3c977092 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -404,6 +404,7 @@ TEST_XFAILS_BOOT := $(TASK_XFAILS) \
test/run-fail/task-comm-14.rs \
test/compile-fail/import.rs \
test/compile-fail/import2.rs \
+ test/compile-fail/import3.rs \
test/compile-fail/bad-recv.rs \
test/compile-fail/bad-send.rs \
test/compile-fail/infinite-vec-type-recursion.rs \
diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs
index 87583c90..700c0902 100644
--- a/src/comp/middle/resolve.rs
+++ b/src/comp/middle/resolve.rs
@@ -90,6 +90,12 @@ fn find_final_def(&env e, &span sp, vec[ident] idents) -> option.t[def_wrap] {
auto new_e = update_env_for_item(tmp_e, i);
ret find_final_def(new_e, sp, new_idents);
}
+ case (def_wrap_use(?c)) {
+ e.sess.span_err(sp, "Crate access is not implemented");
+ }
+ case (_) {
+ e.sess.span_err(sp, first + " is not a module or crate");
+ }
}
}
}
diff --git a/src/test/compile-fail/import3.rs b/src/test/compile-fail/import3.rs
new file mode 100644
index 00000000..16aa43ea
--- /dev/null
+++ b/src/test/compile-fail/import3.rs
@@ -0,0 +1,6 @@
+// error-pattern: main is not a module or crate
+import main.bar;
+
+fn main(vec[str] args) {
+ log "foo";
+}