gc_regions: cleanup & fixes for deallocation (#11920)
* gc_regions: withRegion nows return the modified MemRegion * gc_regions: make withScratchRegion dealloc correctly * tests/gc: add tregionleak test This test checks if memory within regions are freed properly.
This commit is contained in:
parent
6feb3900b1
commit
e9df8ebcfd
2 changed files with 27 additions and 5 deletions
23
tests/gc/tregionleak.nim
Normal file
23
tests/gc/tregionleak.nim
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
discard """
|
||||
cmd: '''nim c --gc:regions $file'''
|
||||
output: '''
|
||||
finalized
|
||||
finalized
|
||||
'''
|
||||
"""
|
||||
|
||||
proc finish(o: RootRef) =
|
||||
echo "finalized"
|
||||
|
||||
withScratchRegion:
|
||||
var test: RootRef
|
||||
new(test, finish)
|
||||
|
||||
var
|
||||
mr: MemRegion
|
||||
test: RootRef
|
||||
|
||||
withRegion(mr):
|
||||
new(test, finish)
|
||||
|
||||
deallocAll(mr)
|
||||
Loading…
Add table
Add a link
Reference in a new issue