summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2021-07-27 12:48:27 +0200
committerGitHub <noreply@github.com>2021-07-27 12:48:27 +0200
commitc86f9590fb5ba6512ba33994fa0711341eb8524b (patch)
tree12f7476681df993caced9a1f6a86f3a799f6a225
parent493721c16c06b5681dc270679bdcbb41011614b2 (diff)
downloadNim-c86f9590fb5ba6512ba33994fa0711341eb8524b.tar.gz
fixes #18570 (#18599)
-rw-r--r--compiler/injectdestructors.nim5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/injectdestructors.nim b/compiler/injectdestructors.nim
index cf09b3ff5..985f27878 100644
--- a/compiler/injectdestructors.nim
+++ b/compiler/injectdestructors.nim
@@ -799,7 +799,8 @@ proc p(n: PNode; c: var Con; s: var Scope; mode: ProcessMode): PNode =
           result[i] = p(n[i], c, s, m)
     of nkObjConstr:
       # see also the remark about `nkTupleConstr`.
-      let isRefConstr = n.typ.skipTypes(abstractInst).kind == tyRef
+      let t = n.typ.skipTypes(abstractInst)
+      let isRefConstr = t.kind == tyRef
       let m = if isRefConstr: sinkArg
               elif mode == normal: normal
               else: sinkArg
@@ -807,7 +808,7 @@ proc p(n: PNode; c: var Con; s: var Scope; mode: ProcessMode): PNode =
       result = copyTree(n)
       for i in 1..<n.len:
         if n[i].kind == nkExprColonExpr:
-          let field = lookupFieldAgain(n.typ, n[i][0].sym)
+          let field = lookupFieldAgain(t, n[i][0].sym)
           if field != nil and sfCursor in field.flags:
             result[i][1] = p(n[i][1], c, s, normal)
           else: