diff options
-rw-r--r-- | compiler/semstmts.nim | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim index bdff15926..44f14afd8 100644 --- a/compiler/semstmts.nim +++ b/compiler/semstmts.nim @@ -1203,7 +1203,8 @@ proc semStaticStmt(c: PContext, n: PNode): PNode = proc usesResult(n: PNode): bool = # nkStmtList(expr) properly propagates the void context, # so we don't need to process that all over again: - if n.kind notin {nkStmtList, nkStmtListExpr} + procDefs: + if n.kind notin {nkStmtList, nkStmtListExpr, + nkMacroDef, nkTemplateDef} + procDefs: if isAtom(n): result = n.kind == nkSym and n.sym.kind == skResult elif n.kind == nkReturnStmt: |