From 3703ef582087b187f3989548c3a059f7d45503fa Mon Sep 17 00:00:00 2001 From: "Felix S. Klock II" Date: Wed, 18 Nov 2015 00:17:48 +0100 Subject: [PATCH] extending FOLLOW(NT) as specified in amendment. See RFC amendment 1384: https://github.com/rust-lang/rfcs/pull/1384 --- src/libsyntax/ext/tt/macro_rules.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index add10612cd8c..9f069cb17ed9 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -997,15 +997,18 @@ fn is_in_follow(_: &ExtCtxt, tok: &Token, frag: &str) -> Result { }, "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) } },