mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-01 02:42:05 +00:00
31 lines
504 B
Nim
31 lines
504 B
Nim
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]) =
|
|
var loop = s.len() - 512
|
|
for i in 0..loop:
|
|
#echo i
|
|
#GC_fullCollect()
|
|
if getOccupiedMem() > 3000_000: quit("still a leak!")
|
|
s.delete(i)
|
|
|
|
s.limit()
|
|
|
|
echo "no leak: ", getOccupiedMem()
|
|
|