]> git.lizzy.rs Git - rust.git/commitdiff
extending FOLLOW(NT) as specified in amendment.
authorFelix S. Klock II <pnkfelix@pnkfx.org>
Tue, 17 Nov 2015 23:17:48 +0000 (00:17 +0100)
committerFelix S. Klock II <pnkfelix@pnkfx.org>
Thu, 7 Jan 2016 19:53:33 +0000 (20:53 +0100)
See RFC amendment 1384:

  https://github.com/rust-lang/rfcs/pull/1384

src/libsyntax/ext/tt/macro_rules.rs

index add10612cd8cffb87eada4fbd21e8786e7aa48aa..9f069cb17ed9033b6174d720e148d563331de281 100644 (file)
@@ -997,15 +997,18 @@ fn is_in_follow(_: &ExtCtxt, tok: &Token, frag: &str) -> Result<bool, String> {
             },
             "pat" => {
                 match *tok {
-                    FatArrow | Comma | Eq => Ok(true),
-                    Ident(i, _) if i.name.as_str() == "if" || i.name.as_str() == "in" => Ok(true),
+                    FatArrow | Comma | Eq | BinOp(token::Or) => Ok(true),
+                    Ident(i, _) if (i.name.as_str() == "if" ||
+                                    i.name.as_str() == "in") => Ok(true),
                     _ => Ok(false)
                 }
             },
             "path" | "ty" => {
                 match *tok {
-                    Comma | FatArrow | Colon | Eq | Gt | Semi => Ok(true),
-                    Ident(i, _) if i.name.as_str() == "as" => Ok(true),
+                    OpenDelim(token::DelimToken::Brace) |
+                    Comma | FatArrow | Colon | Eq | Gt | Semi | BinOp(token::Or) => Ok(true),
+                    Ident(i, _) if (i.name.as_str() == "as" ||
+                                    i.name.as_str() == "where") => Ok(true),
                     _ => Ok(false)
                 }
             },