diff options
Diffstat (limited to 'tests/gc/gcleak3.nim')
-rw-r--r-- | tests/gc/gcleak3.nim | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/gc/gcleak3.nim b/tests/gc/gcleak3.nim new file mode 100644 index 000000000..5e146d69f --- /dev/null +++ b/tests/gc/gcleak3.nim @@ -0,0 +1,26 @@ +discard """ + outputsub: "no leak: " +""" + +when defined(GC_setMaxPause): + GC_setMaxPause 2_000 + +type + TSomething = object + s: string + s1: string +var s: seq[TSomething] = @[] +for i in 0..1024: + var obj: TSomething + obj.s = "blah" + obj.s1 = "asd" + s.add(obj) + +proc limit*[t](a: var seq[t]) = + while s.len > 0: + if getOccupiedMem() > 3000_000: quit("still a leak!") + s.delete(0) + +s.limit() +echo "no leak: ", getOccupiedMem() + |