summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorTimothee Cour <timothee.cour2@gmail.com>2021-01-14 16:09:58 -0800
committerGitHub <noreply@github.com>2021-01-15 01:09:58 +0100
commit52cf7280019c943dd7df33d0dd693931e6a116ee (patch)
tree17453e07c4b16ceeb96c35c30cb44decae36623c /lib
parent554fe8f88fc6d146b17726acbab415f77e346a72 (diff)
downloadNim-52cf7280019c943dd7df33d0dd693931e6a116ee.tar.gz
followup for #16717: minimized example + improved comment (#16721)
Diffstat (limited to 'lib')
-rw-r--r--lib/system/assign.nim4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/system/assign.nim b/lib/system/assign.nim
index 8ba3e409d..faf16fc90 100644
--- a/lib/system/assign.nim
+++ b/lib/system/assign.nim
@@ -122,8 +122,10 @@ 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)
-      let srcType = cast[ptr PNimType](src)[] # object is not initialized properly(for example std/times.DateTime)
+      let srcType = cast[ptr PNimType](src)[]
       if srcType != nil:
+        # `!= nil` needed because of cases where object is not initialized properly (see bug #16706)
+        # note that you can have `srcType == nil` yet `src != nil`
         chckObjAsgn(srcType, mt)
       pint[] = mt # cast[ptr PNimType](src)[]
   of tyTuple: