about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-08-13 17:55:21 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-08-13 17:55:54 -0700
commit799bc0a1934535bfebbb912fd3c86d88af9edc28 (patch)
tree884df6c68d10c44ea4b0b455f42ffe7925c7b84a /src/libsyntax/parse/parser.rs
parentc0858f4f7abd5fddf1093e26c4de925c5d5ade43 (diff)
downloadrust-799bc0a1934535bfebbb912fd3c86d88af9edc28.tar.gz
rust-799bc0a1934535bfebbb912fd3c86d88af9edc28.zip
libsyntax: Allow "use" to be used in place of "import"
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
-rw-r--r--src/libsyntax/parse/parser.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 685a6a34405..0dd1c70cd93 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -3132,9 +3132,15 @@ class parser {
     }
 
     fn parse_use() -> view_item_ {
-        let ident = self.parse_ident();
-        let metadata = self.parse_optional_meta();
-        return view_item_use(ident, metadata, self.get_id());
+        if self.look_ahead(1) == token::SEMI ||
+            self.look_ahead(1) == token::LPAREN {
+            // Old-style "use"; i.e. what we now call "extern mod".
+            let ident = self.parse_ident();
+            let metadata = self.parse_optional_meta();
+            return view_item_use(ident, metadata, self.get_id());
+        }
+
+        return view_item_import(self.parse_view_paths());
     }
 
     fn parse_view_path() -> @view_path {