DFA: We are not allowed to take ownership of parameters

This commit is contained in:
Araq 2019-04-17 17:18:47 +02:00
commit 850e90ac30

View file

@ -633,7 +633,8 @@ proc isAnalysableFieldAccess*(n: PNode; owner: PSym): bool =
break break
# XXX Allow closure deref operations here if we know # XXX Allow closure deref operations here if we know
# the owner controlled the closure allocation? # the owner controlled the closure allocation?
result = n.kind == nkSym and n.sym.owner == owner and owner.kind != skModule result = n.kind == nkSym and n.sym.owner == owner and
owner.kind != skModule and (n.sym.kind != skParam or isSinkParam(n.sym))
proc genDef(c: var Con; n: PNode) = proc genDef(c: var Con; n: PNode) =
if n.kind == nkSym and n.sym.kind in InterestingSyms: if n.kind == nkSym and n.sym.kind in InterestingSyms: