diff --git a/compiler/transf.nim b/compiler/transf.nim index b95733a37e..6f7aeef0dd 100644 --- a/compiler/transf.nim +++ b/compiler/transf.nim @@ -573,10 +573,19 @@ proc putArgInto(arg: PNode, formal: PType): TPutArgInto = case arg.kind of nkEmpty..nkNilLit: result = paDirectMapping - of nkPar, nkTupleConstr, nkCurly, nkBracket: - result = paFastAsgn - for i in 0 ..< len(arg): - if putArgInto(arg.sons[i], formal) != paDirectMapping: return + of nkDotExpr, nkDerefExpr, nkHiddenDeref, nkAddr, nkHiddenAddr: + result = putArgInto(arg[0], formal) + of nkCurly, nkBracket: + for i in 0..