diff options
Diffstat (limited to 'src/macro_rules/eval.cpp')
-rw-r--r-- | src/macro_rules/eval.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/macro_rules/eval.cpp b/src/macro_rules/eval.cpp index 6344b26a..fc54616e 100644 --- a/src/macro_rules/eval.cpp +++ b/src/macro_rules/eval.cpp @@ -1116,6 +1116,9 @@ namespace return consume_tt(lex); } break; + case TOK_RWORD_BOX: + lex.consume(); + return consume_pat(lex); case TOK_AMP: case TOK_DOUBLE_AMP: lex.consume(); @@ -1202,6 +1205,7 @@ namespace case TOK_STAR: // Deref case TOK_DASH: // Negate case TOK_EXCLAM: // Invert + case TOK_RWORD_BOX: // Box lex.consume(); break; case TOK_AMP: @@ -1222,9 +1226,12 @@ namespace switch(lex.next()) { case TOK_RWORD_CONTINUE: - case TOK_RWORD_RETURN: case TOK_RWORD_BREAK: lex.consume(); + lex.consume_if(TOK_LIFETIME); + if(0) + case TOK_RWORD_RETURN: + lex.consume(); switch(lex.next()) { case TOK_EOF: |