fix #15934 and #15620 (#15938) [backport:1.4]

* make workaround for #15934 and #15620
* add testcase for #9754
This commit is contained in:
Andreas Rumpf
2020-11-15 18:12:53 +01:00
committed by GitHub
3 changed files with 35 additions and 1 deletions

View File

@@ -327,7 +327,10 @@ proc setPointer*(x: Any, y: pointer) =
## ``akString``, ``akCString``, ``akProc``, ``akRef``, ``akPtr``,
## ``akPointer``, ``akSequence``.
assert x.rawType.kind in pointerLike
genericAssign(x.value, y, x.rawType)
if y != nil:
genericAssign(x.value, y, x.rawType)
else:
cast[ppointer](x.value)[] = nil
proc fieldsAux(p: pointer, n: ptr TNimNode,
ret: var seq[tuple[name: cstring, any: Any]]) =