trpl: fix macro follow sets

This commit is contained in:
Alex Burka 2016-01-27 13:26:47 -05:00
parent 8256c470a5
commit fd4d013a2c
2 changed files with 4 additions and 3 deletions

View File

@ -478,9 +478,9 @@ which syntactic form it matches.
There are additional rules regarding the next token after a metavariable:
* `expr` variables may only be followed by one of: `=> , ;`
* `ty` and `path` variables may only be followed by one of: `=> , : = > as`
* `pat` variables may only be followed by one of: `=> , = if in`
* `expr` and `stmt` variables may only be followed by one of: `=> , ;`
* `ty` and `path` variables may only be followed by one of: `=> , = | ; : > [ { as where`
* `pat` variables may only be followed by one of: `=> , = | if in`
* Other variables may be followed by any token.
These rules provide some flexibility for Rusts syntax to evolve without

View File

@ -972,6 +972,7 @@ fn can_be_followed_by_any(frag: &str) -> bool {
/// we expanded `expr` to include a new binary operator, we might
/// break macros that were relying on that binary operator as a
/// separator.
// when changing this do not forget to update doc/book/macros.md!
fn is_in_follow(_: &ExtCtxt, tok: &Token, frag: &str) -> Result<bool, String> {
if let &CloseDelim(_) = tok {
// closing a token tree can never be matched by any fragment;