diff options
Diffstat (limited to 'lib/system/assign.nim')
-rwxr-xr-x | lib/system/assign.nim | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/system/assign.nim b/lib/system/assign.nim index 895a7f9fd..cd4a34f6c 100755 --- a/lib/system/assign.nim +++ b/lib/system/assign.nim @@ -144,11 +144,17 @@ proc objectInit(dest: Pointer, typ: PNimType) = # ---------------------- assign zero ----------------------------------------- -# dummy declaration; XXX we need 'mixin' here -proc destroy(x: int) = nil -proc nimDestroyRange*[T](r: T) = - # internal proc used for destroying sequences and arrays - for i in countup(0, r.len - 1): destroy(r[i]) +when not defined(nimmixin): + proc destroy(x: int) = nil + proc nimDestroyRange*[T](r: T) = + # internal proc used for destroying sequences and arrays + for i in countup(0, r.len - 1): destroy(r[i]) +else: + # XXX Why is this exported and no compilerproc? + proc nimDestroyRange*[T](r: T) = + # internal proc used for destroying sequences and arrays + mixin destroy + for i in countup(0, r.len - 1): destroy(r[i]) proc genericReset(dest: Pointer, mt: PNimType) {.compilerProc.} proc genericResetAux(dest: Pointer, n: ptr TNimNode) = |