Nim/tests/ccgbugs/tobjconstr_bad_aliasing.nim
2017-12-15 11:21:49 +01:00

26 lines
520 B
Nim

discard """
output: '''(10, (20, ))'''
"""
import strutils, sequtils
# bug #668
type
TThing = ref object
data: int
children: seq[TThing]
proc `$`(t: TThing): string =
result = "($1, $2)" % @[$t.data, join(map(t.children, proc(th: TThing): string = $th), ", ")]
proc somethingelse(): seq[TThing] =
result = @[TThing(data: 20, children: @[])]
proc dosomething(): seq[TThing] =
result = somethingelse()
result = @[TThing(data: 10, children: result)]
when isMainModule:
echo($dosomething()[0])