[other] added system.dispose for owned refs

(cherry picked from commit f310cf5250)
This commit is contained in:
Andreas Rumpf
2019-06-20 19:40:18 +02:00
committed by narimiran
parent f3ae2dcfa3
commit 6d977e66cb

View File

@@ -75,6 +75,9 @@ proc nimRawDispose(p: pointer) {.compilerRtl.} =
cstderr.rawWrite "[FATAL] unpaired dealloc\n"
quit 1
template dispose*[T](x: owned(ref T)) = nimRawDispose(cast[pointer](x))
#proc dispose*(x: pointer) = nimRawDispose(x)
proc nimDestroyAndDispose(p: pointer) {.compilerRtl.} =
let d = cast[ptr PNimType](p)[].destructor
if d != nil: cast[DestructorProc](d)(p)