about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/parser.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 35d7e166306..29fdc884604 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -1131,8 +1131,13 @@ class parser {
         // the interpolation of matchers
         maybe_whole!{self, nt_matchers};
         let name_idx = @mut 0u;
-        return self.parse_matcher_subseq(
-            name_idx, token::LBRACE, token::RBRACE);
+        return alt self.token {
+          token::LBRACE | token::LPAREN | token::LBRACKET {
+            self.parse_matcher_subseq(name_idx, copy self.token,
+                                      token::flip_delimiter(self.token))
+          }
+          _ { self.fatal(~"expected open delimiter"); }
+        }
     }