Files
Nim/tests/ccgbugs/t26063.nim
2026-08-04 14:20:13 +08:00

44 lines
899 B
Nim

discard """
matrix: "--mm:refc; --mm:orc"
output: '''
ok
ok
'''
"""
block:
type Node = object
children: seq[Node]
proc buildMoved(n: var Node): Node =
Node(children: move(n.children[0].children))
proc actMoved(n: var Node) =
n.children[0] = Node(children: @[buildMoved(n)])
doAssert n.children[0].children.len == 1
proc main =
var a = Node(children: @[Node(children: @[Node()])])
actMoved(a)
doAssert a.children[0].children.len == 1
main()
echo "ok"
block:
type Node = object
children: seq[Node]
proc buildCopied(n: var Node): Node =
let kids = n.children[0].children
Node(children: kids)
proc actCopied(n: var Node) =
n.children[0] = Node(children: @[buildCopied(n)])
proc main =
var b = Node(children: @[Node(children: @[Node()])])
actCopied(b)
doAssert b.children[0].children.len == 1
main()
echo "ok"