From e3a668a33baaf9d89b287827eaab3fa1cdfec877 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Sat, 15 Dec 2018 13:54:41 +0100 Subject: [PATCH] --gc:destructors: baby steps --- compiler/destroyer.nim | 23 ++++++++++++----------- compiler/semstmts.nim | 9 +++++++++ compiler/semtypes.nim | 5 +---- lib/core/seqs.nim | 6 ------ lib/system.nim | 9 +++++---- 5 files changed, 27 insertions(+), 25 deletions(-) diff --git a/compiler/destroyer.nim b/compiler/destroyer.nim index 40af11e70c..03ce9a5cf7 100644 --- a/compiler/destroyer.nim +++ b/compiler/destroyer.nim @@ -296,7 +296,8 @@ proc makePtrType(c: Con, baseType: PType): PType = template genOp(opr, opname, ri) = let op = opr if op == nil: - globalError(c.graph.config, dest.info, "internal error: '" & opname & "' operator not found for type " & typeToString(t)) + globalError(c.graph.config, dest.info, "internal error: '" & opname & + "' operator not found for type " & typeToString(t)) elif op.ast[genericParamsPos].kind != nkEmpty: globalError(c.graph.config, dest.info, "internal error: '" & opname & "' operator is generic") patchHead op @@ -365,7 +366,7 @@ proc destructiveMoveVar(n: PNode; c: var Con): PNode = result.add genWasMoved(n, c) result.add tempAsNode -proc sinkParamIsLastReadCheck(c: var Con, s: PNode) = +proc sinkParamIsLastReadCheck(c: var Con, s: PNode) = assert s.kind == nkSym and s.sym.kind == skParam if not isLastRead(s, c): localError(c.graph.config, c.otherRead.info, "sink parameter `" & $s.sym.name.s & @@ -427,7 +428,7 @@ proc pArg(arg: PNode; c: var Con; isSink: bool): PNode = result = copyNode(arg) for i in 0..