diff options
-rw-r--r-- | compiler/parser.nim | 4 | ||||
-rw-r--r-- | tests/template/tgensymregression.nim | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/compiler/parser.nim b/compiler/parser.nim index 8b335efd5..178006e46 100644 --- a/compiler/parser.nim +++ b/compiler/parser.nim @@ -1344,7 +1344,9 @@ proc parseReturnOrRaise(p: var TParser, kind: TNodeKind): PNode = # NL terminates: addSon(result, ast.emptyNode) else: - addSon(result, parseExpr(p)) + var e = parseExpr(p) + e = postExprBlocks(p, e) + addSon(result, e) proc parseIfOrWhen(p: var TParser, kind: TNodeKind): PNode = #| condStmt = expr colcom stmt COMMENT? diff --git a/tests/template/tgensymregression.nim b/tests/template/tgensymregression.nim index 0fadbde41..4cc64a831 100644 --- a/tests/template/tgensymregression.nim +++ b/tests/template/tgensymregression.nim @@ -59,14 +59,13 @@ template wrap(body: typed): untyped = macro makeProc(): typed = # Make a template tree - result = (quote do: + result = quote do: proc someProc* = wrap do: let x = 123 # Implicit conversion here let s: string = x echo s - ) makeProc() |