mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 17:34:43 +00:00
37 lines
537 B
Nim
37 lines
537 B
Nim
discard """
|
|
output: "MEM 0"
|
|
cmd: "nim c --gc:orc $file"
|
|
"""
|
|
|
|
type
|
|
Node = ref object
|
|
kids: seq[Node]
|
|
data: string
|
|
|
|
proc main(x: int) =
|
|
var n = Node(kids: @[], data: "3" & $x)
|
|
let m = n
|
|
n.kids.add m
|
|
|
|
type
|
|
NodeA = ref object
|
|
s: char
|
|
a: array[3, NodeA]
|
|
|
|
proc m: NodeA =
|
|
result = NodeA(s: 'a')
|
|
result.a[0] = result
|
|
result.a[1] = result
|
|
result.a[2] = result
|
|
|
|
proc mainA =
|
|
for i in 0..10:
|
|
discard m()
|
|
|
|
let mem = getOccupiedMem()
|
|
main(90)
|
|
mainA()
|
|
GC_fullCollect()
|
|
|
|
echo "MEM ", getOccupiedMem() - mem
|