This commit is contained in:
Araq
2019-07-01 12:28:52 +02:00
parent a5686961bd
commit 413dff03a0
2 changed files with 13 additions and 1 deletions

View File

@@ -498,7 +498,7 @@ proc pArg(arg: PNode; c: var Con; isSink: bool): PNode =
# to disable the destructor which we have not elided
sinkParamIsLastReadCheck(c, arg)
result = destructiveMoveVar(arg, c)
elif arg.kind == nkSym and arg.sym.kind in InterestingSyms and isLastRead(arg, c):
elif isAnalysableFieldAccess(arg, c.owner) and isLastRead(arg, c):
# it is the last read, can be sinked. We need to reset the memory
# to disable the destructor which we have not elided
result = destructiveMoveVar(arg, c)

View File

@@ -9,6 +9,7 @@ ha
a: @[4, 2, 3]
0
30
true
41 41'''
"""
@@ -190,6 +191,17 @@ proc mainSeqOfCap =
mainSeqOfCap()
# bug #11614
let ga = "foo"
proc takeAinArray =
let b = [ga]
takeAinArray()
echo ga == "foo"
#echo s
let (a, d) = allocCounters()
discard cprintf("%ld %ld\n", a, d)