about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-12-11 01:06:21 -0800
committerbors <bors@rust-lang.org>2013-12-11 01:06:21 -0800
commitfff03a5fc74f8e9430cc330907122ccd3782866d (patch)
tree59b4f7086e43c8075488b00318cdc24ec5999345 /src/libsyntax/parse/parser.rs
parentb8516de48f3f535f3de888652bed1dca4e489348 (diff)
parentbd36b06f555a552b7a66fbc3bd749eb7226be4fa (diff)
downloadrust-fff03a5fc74f8e9430cc330907122ccd3782866d.tar.gz
rust-fff03a5fc74f8e9430cc330907122ccd3782866d.zip
auto merge of #10808 : kballard/rust/use-braces, r=alexcrichton
This fixes #10806.
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
-rw-r--r--src/libsyntax/parse/parser.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 9ebcfaae7c5..4270a4d0dc5 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -4828,6 +4828,21 @@ impl Parser {
     fn parse_view_path(&self) -> @view_path {
         let lo = self.span.lo;
 
+        if *self.token == token::LBRACE {
+            // use {foo,bar}
+            let idents = self.parse_unspanned_seq(
+                &token::LBRACE, &token::RBRACE,
+                seq_sep_trailing_allowed(token::COMMA),
+                |p| p.parse_path_list_ident());
+            let path = ast::Path {
+                span: mk_sp(lo, self.span.hi),
+                global: false,
+                segments: ~[]
+            };
+            return @spanned(lo, self.span.hi,
+                            view_path_list(path, idents, ast::DUMMY_NODE_ID));
+        }
+
         let first_ident = self.parse_ident();
         let mut path = ~[first_ident];
         debug!("parsed view_path: {}", self.id_to_str(first_ident));