Skip to content

Commit 19997cb

Browse files
committed
---
yaml --- r: 35069 b: refs/heads/master c: f7960ac h: refs/heads/master i: 35067: 0d73a3f v: v3
1 parent 14d1790 commit 19997cb

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 4e1ce014c831974738af62dce4fd699c20a001ff
2+
refs/heads/master: f7960ac5494518268626e176481c0644345d2c35
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: eb8fd119c65c67f3b1b8268cc7341c22d39b7b61
55
refs/heads/try: d324a424d8f84b1eb049b12cf34182bda91b0024

trunk/src/libsyntax/parse/parser.rs

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1082,10 +1082,15 @@ impl Parser {
10821082
/* `!`, as an operator, is prefix, so we know this isn't that */
10831083
if self.token == token::NOT {
10841084
self.bump();
1085-
let tts = self.parse_unspanned_seq(
1086-
token::LPAREN, token::RPAREN, seq_sep_none(),
1087-
|p| p.parse_token_tree());
1088-
1085+
let tts = match self.token {
1086+
token::LPAREN | token::LBRACE | token::LBRACKET => {
1087+
let ket = token::flip_delimiter(self.token);
1088+
self.parse_unspanned_seq(copy self.token, ket,
1089+
seq_sep_none(),
1090+
|p| p.parse_token_tree())
1091+
}
1092+
_ => self.fatal(~"expected open delimiter")
1093+
};
10891094
let hi = self.span.hi;
10901095
10911096
return self.mk_mac_expr(
@@ -3412,9 +3417,15 @@ impl Parser {
34123417
let pth = self.parse_path_without_tps();
34133418
self.expect(token::NOT);
34143419
let id = self.parse_ident();
3415-
let tts = self.parse_unspanned_seq(
3416-
token::LPAREN, token::RPAREN, seq_sep_none(),
3417-
|p| p.parse_token_tree());
3420+
let tts = match self.token {
3421+
token::LPAREN | token::LBRACE | token::LBRACKET => {
3422+
let ket = token::flip_delimiter(self.token);
3423+
self.parse_unspanned_seq(copy self.token, ket,
3424+
seq_sep_none(),
3425+
|p| p.parse_token_tree())
3426+
}
3427+
_ => self.fatal(~"expected open delimiter")
3428+
};
34183429
let m = ast::mac_invoc_tt(pth, tts);
34193430
let m: ast::mac = {node: m,
34203431
span: {lo: self.span.lo,

0 commit comments

Comments
 (0)