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-09-05 13:26:46 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-09-05 13:26:46 -0700
commite7fe903d882ba3206016442f2a743ba8369abf97 (patch)
tree14c620613b361e40326dfc9355fca781ad5a14a0 /src/libsyntax/parse/parser.rs
parent10c533861b38cf7c0533d3e28529bb49c917d2eb (diff)
downloadrust-e7fe903d882ba3206016442f2a743ba8369abf97.tar.gz
rust-e7fe903d882ba3206016442f2a743ba8369abf97.zip
libsyntax: Make "pub use" mean the same thing as the former "import" in all circumstances
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
-rw-r--r--src/libsyntax/parse/parser.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 367fb9a1bde..4ec5a57e736 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -3267,7 +3267,7 @@ struct parser {
                                           visibility,
                                           maybe_append(attrs, extra_attrs)));
         } else if self.eat_keyword(~"use") {
-            let view_item = self.parse_use();
+            let view_item = self.parse_use(visibility);
             self.expect(token::SEMI);
             return iovi_view_item(@{
                 node: view_item,
@@ -3327,9 +3327,9 @@ struct parser {
         }
     }
 
-    fn parse_use() -> view_item_ {
-        if self.look_ahead(1) == token::SEMI ||
-            self.look_ahead(1) == token::LPAREN {
+    fn parse_use(vis: visibility) -> view_item_ {
+        if vis != public && (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();
@@ -3445,7 +3445,7 @@ struct parser {
     fn parse_view_item(+attrs: ~[attribute]) -> @view_item {
         let lo = self.span.lo, vis = self.parse_visibility();
         let node = if self.eat_keyword(~"use") {
-            self.parse_use()
+            self.parse_use(vis)
         } else if self.eat_keyword(~"import") {
             view_item_import(self.parse_view_paths())
         } else if self.eat_keyword(~"export") {