about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/comp/middle/resolve.rs3
-rw-r--r--src/test/run-pass/path.rs8
2 files changed, 9 insertions, 2 deletions
diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs
index 2cfbcc83eac..97a5228452e 100644
--- a/src/comp/middle/resolve.rs
+++ b/src/comp/middle/resolve.rs
@@ -432,8 +432,7 @@ fn fold_expr_path(&env e, &span sp, &ast.path p, &option.t[def] d,
             path_len = n_idents - remaining + 1u;
         }
         case (def_wrap_other(_)) {
-            check (n_idents == 1u);
-            path_len = 1u;
+            path_len = n_idents;
         }
         case (def_wrap_mod(?m)) {
             e.sess.span_err(sp,
diff --git a/src/test/run-pass/path.rs b/src/test/run-pass/path.rs
new file mode 100644
index 00000000000..e94d32ebfa8
--- /dev/null
+++ b/src/test/run-pass/path.rs
@@ -0,0 +1,8 @@
+mod foo {
+   fn bar(uint offset) {
+   }
+}
+
+fn main(vec[str] args) {
+  foo.bar(0u);
+}