summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2020-05-02 13:37:57 +0200
committerAndreas Rumpf <rumpf_a@web.de>2020-05-02 22:31:19 +0200
commit87ac28d19ac9740d871ac85a8c79178344c6b7b3 (patch)
treec5eda6ef081a806983b9c957d359f16c3964e2dd /compiler
parent4301a7bdf06159501f8affc3e7f8de80a196cd4f (diff)
downloadNim-87ac28d19ac9740d871ac85a8c79178344c6b7b3.tar.gz
fixes #14159 [backport:1.2]
Diffstat (limited to 'compiler')
-rw-r--r--compiler/dfa.nim4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/dfa.nim b/compiler/dfa.nim
index e4cadde5b..0cefec285 100644
--- a/compiler/dfa.nim
+++ b/compiler/dfa.nim
@@ -639,8 +639,10 @@ proc isAnalysableFieldAccess*(orig: PNode; owner: PSym): bool =
     of nkHiddenDeref, nkDerefExpr:
       # We "own" sinkparam[].loc but not ourVar[].location as it is a nasty
       # pointer indirection.
+      # bug #14159, we cannot reason about sinkParam[].location as it can
+      # still be shared for tyRef.
       n = n[0]
-      return n.kind == nkSym and n.sym.owner == owner and (isSinkParam(n.sym) or
+      return n.kind == nkSym and n.sym.owner == owner and (
           n.sym.typ.skipTypes(abstractInst-{tyOwned}).kind in {tyOwned})
     else:
       break