diff options
author | flywind <43030857+xflywind@users.noreply.github.com> | 2021-01-14 09:52:00 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-14 16:52:00 +0100 |
commit | ef9027c29028b1ec93d14c148406d409bc1701d4 (patch) | |
tree | d33e26d256c8cbf2a19bbe3ae49958dbdf42d091 /lib | |
parent | 94430a2e6de6a9079662db6f5677f978a94e7fce (diff) | |
download | Nim-ef9027c29028b1ec93d14c148406d409bc1701d4.tar.gz |
fix #16706 (#16717) [backport:1.4]
Diffstat (limited to 'lib')
-rw-r--r-- | lib/system/assign.nim | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/system/assign.nim b/lib/system/assign.nim index a809fa423..8ba3e409d 100644 --- a/lib/system/assign.nim +++ b/lib/system/assign.nim @@ -122,7 +122,9 @@ proc genericAssignAux(dest, src: pointer, mt: PNimType, shallow: bool) = # var tbObj = TB(p) # tbObj of TC # needs to be false! #c_fprintf(stdout, "%s %s\n", pint[].name, mt.name) - chckObjAsgn(cast[ptr PNimType](src)[], mt) + let srcType = cast[ptr PNimType](src)[] # object is not initialized properly(for example std/times.DateTime) + if srcType != nil: + chckObjAsgn(srcType, mt) pint[] = mt # cast[ptr PNimType](src)[] of tyTuple: genericAssignAux(dest, src, mt.node, shallow) |