about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRafael Avila de Espindola <espindola@dream.(none)>2011-02-07 14:57:34 -0500
committerRafael Avila de Espindola <espindola@dream.(none)>2011-02-07 14:57:34 -0500
commitff6864aa5ca14795ae0e23e97e0e67b1122a6b68 (patch)
treeafb5e62fdf61b4333f9c139bb19b0c95eba65af4 /src
parent8122e0c54280545c28e8067c0e3a19253fe3aa9b (diff)
Fix expressions with paths with more than one element.
Diffstat (limited to 'src')
-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);
+}