summaryrefslogtreecommitdiff
path: root/src/macro_rules/eval.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/macro_rules/eval.cpp')
-rw-r--r--src/macro_rules/eval.cpp9
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: