26 lines
520 B
Nim
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])
|