diff options
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 9 |
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"); } + } } |
