From 7906527297057be52406b3080fbfd62048ae92c8 Mon Sep 17 00:00:00 2001 From: Araq Date: Sat, 8 Oct 2016 10:06:55 +0200 Subject: [PATCH] failed attempt to fix a 'void' inference bug --- compiler/sigmatch.nim | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/compiler/sigmatch.nim b/compiler/sigmatch.nim index b8dfede1ff..df5a76a579 100644 --- a/compiler/sigmatch.nim +++ b/compiler/sigmatch.nim @@ -1567,8 +1567,13 @@ proc paramTypesMatch*(m: var TCandidate, f, a: PType, proc setSon(father: PNode, at: int, son: PNode) = - if sonsLen(father) <= at: setLen(father.sons, at + 1) + let oldLen = father.len + if oldLen <= at: + setLen(father.sons, at + 1) father.sons[at] = son + # insert potential 'void' parameters: + #for i in oldLen ..< at: + # father.sons[i] = newNodeIT(nkEmpty, son.info, getSysType(tyVoid)) # we are allowed to modify the calling node in the 'prepare*' procs: proc prepareOperand(c: PContext; formal: PType; a: PNode): PNode =