summary refs log tree commit diff stats
path: root/compiler/sighashes.nim
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/sighashes.nim')
-rw-r--r--compiler/sighashes.nim12
1 files changed, 8 insertions, 4 deletions
diff --git a/compiler/sighashes.nim b/compiler/sighashes.nim
index a2d67ea24..6918b28a2 100644
--- a/compiler/sighashes.nim
+++ b/compiler/sighashes.nim
@@ -159,10 +159,14 @@ proc hashType(c: var MD5Context, t: PType; flags: set[ConsiderFlag]) =
     # Every cyclic type in Nim need to be constructed via some 't.sym', so this
     # is actually safe without an infinite recursion check:
     if t.sym != nil:
-      if "Future:" in t.sym.name.s:
-        writeStackTrace()
-        echo "yes ", t.sym.name.s
-        #quit 1
+      #if "Future:" in t.sym.name.s and t.typeInst == nil:
+      #  writeStackTrace()
+      #  echo "yes ", t.sym.name.s
+      #  #quit 1
+      if t.typeInst != nil:
+        assert t.typeInst.kind == tyGenericInst
+        for i in countup(1, sonsLen(t.typeInst) - 2):
+          c.hashType t.typeInst.sons[i], flags
       c.hashSym(t.sym)
     else:
       lowlevel(t.id)