summary refs log tree commit diff
path: root/src/libsyntax/print/pprust.rs
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2013-07-31 13:47:32 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2013-08-09 14:11:50 -0700
commit96fd606dddba6bd4773c41be66c44fc076a96ff8 (patch)
tree51a9be1731ec2607021333e3c8ad0ebfa5848998 /src/libsyntax/print/pprust.rs
parente751c90513b3b7948ffab7b449f0758e4225125e (diff)
downloadrust-96fd606dddba6bd4773c41be66c44fc076a96ff8.tar.gz
rust-96fd606dddba6bd4773c41be66c44fc076a96ff8.zip
std/rustc/rustpkg/syntax: Support the `extern mod = ...` form
This commit allows you to write:

 extern mod x = "a/b/c";

which means rustc will search in the RUST_PATH for a package with
ID a/b/c, and bind it to the name `x` if it's found.

Incidentally, move get_relative_to from back::rpath into std::path
Diffstat (limited to 'src/libsyntax/print/pprust.rs')
-rw-r--r--src/libsyntax/print/pprust.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index f517179f603..ffe9575a864 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -1856,9 +1856,13 @@ pub fn print_view_item(s: @ps, item: &ast::view_item) {
     print_outer_attributes(s, item.attrs);
     print_visibility(s, item.vis);
     match item.node {
-        ast::view_item_extern_mod(id, ref mta, _) => {
+        ast::view_item_extern_mod(id, ref optional_path, ref mta, _) => {
             head(s, "extern mod");
             print_ident(s, id);
+            for p in optional_path.iter() {
+                word(s.s, "=");
+                print_string(s, *p);
+            }
             if !mta.is_empty() {
                 popen(s);
                 commasep(s, consistent, *mta, |p, &i| print_meta_item(p, i));