summary refs log tree commit diff stats
path: root/tests/destructor/tcycle2.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/destructor/tcycle2.nim')
-rw-r--r--tests/destructor/tcycle2.nim18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/destructor/tcycle2.nim b/tests/destructor/tcycle2.nim
index c4b297559..7b03101fe 100644
--- a/tests/destructor/tcycle2.nim
+++ b/tests/destructor/tcycle2.nim
@@ -13,6 +13,24 @@ proc main(x: int) =
   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