diff --git a/compiler/injectdestructors.nim b/compiler/injectdestructors.nim index 99eefca57..752438180 100644 --- a/compiler/injectdestructors.nim +++ b/compiler/injectdestructors.nim @@ -1062,5 +1062,5 @@ proc injectDestructorCalls*(g: ModuleGraph; owner: PSym; n: PNode): PNode = if g.config.arcToExpand.hasKey(owner.name.s): echo "--expandArc: ", owner.name.s - echo renderTree(result, {renderIr}) + echo renderTree(result, {renderIr, renderNoComments}) echo "-- end of expandArc ------------------------" diff --git a/compiler/transf.nim b/compiler/transf.nim index be559abb8..7aa18bf52 100644 --- a/compiler/transf.nim +++ b/compiler/transf.nim @@ -350,7 +350,7 @@ proc transformYield(c: PTransf, n: PNode): PNode = # Choose the right assignment instruction according to the given ``lhs`` # node since it may not be a nkSym (a stack-allocated skForVar) but a # nkDotExpr (a heap-allocated slot into the envP block) - case lhs.kind: + case lhs.kind of nkSym: internalAssert c.graph.config, lhs.sym.kind == skForVar result = newAsgnStmt(c, nkFastAsgn, lhs, rhs) @@ -592,6 +592,22 @@ proc findWrongOwners(c: PTransf, n: PNode) = else: for i in 0..