diff options
-rw-r--r-- | compiler/transf.nim | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/transf.nim b/compiler/transf.nim index 57547b682..39842056f 100644 --- a/compiler/transf.nim +++ b/compiler/transf.nim @@ -468,7 +468,11 @@ proc transformFor(c: PTransf, n: PNode): PTransNode = c.breakSyms.add(labl) result = newTransNode(nkBlockStmt, n.info, 2) result[0] = newSymNode(labl).PTransNode - + if call.typ.isNil: + # see bug #3051 + result[1] = newNode(nkEmpty).PTransNode + discard c.breakSyms.pop + return result if call.typ.kind != tyIter and (call.kind notin nkCallKinds or call.sons[0].kind != nkSym or call.sons[0].sym.kind != skIterator): |