summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2019-07-03 07:22:30 +0200
committerGitHub <noreply@github.com>2019-07-03 07:22:30 +0200
commit71b7383f127d0308d465bab4365feb9803bf09d1 (patch)
treed1590c4637c5c9e08da68792e1da38644e251355
parentc522a455df3817d98c2cd9132668c4eb9fbb0d88 (diff)
downloadNim-71b7383f127d0308d465bab4365feb9803bf09d1.tar.gz
fixes #11479 (#11641)
-rw-r--r--compiler/types.nim2
-rw-r--r--tests/types/tyet_another_generic_regression.nim19
2 files changed, 20 insertions, 1 deletions
diff --git a/compiler/types.nim b/compiler/types.nim
index 8ba603642..d879c0f56 100644
--- a/compiler/types.nim
+++ b/compiler/types.nim
@@ -168,7 +168,7 @@ proc iterOverTypeAux(marker: var IntSet, t: PType, iter: TTypeIter,
       for i in 0 ..< sonsLen(t):
         result = iterOverTypeAux(marker, t.sons[i], iter, closure)
         if result: return
-      if t.n != nil: result = iterOverNode(marker, t.n, iter, closure)
+      if t.n != nil and t.kind != tyProc: result = iterOverNode(marker, t.n, iter, closure)
 
 proc iterOverType(t: PType, iter: TTypeIter, closure: RootRef): bool =
   var marker = initIntSet()
diff --git a/tests/types/tyet_another_generic_regression.nim b/tests/types/tyet_another_generic_regression.nim
index 914166e06..083993757 100644
--- a/tests/types/tyet_another_generic_regression.nim
+++ b/tests/types/tyet_another_generic_regression.nim
@@ -1,3 +1,7 @@
+discard """
+  output: ''''''
+"""
+
 import system
 
 type Bar[T] = ref object
@@ -11,3 +15,18 @@ proc Foo[T: Bar[types]](): T =
 
 discard Foo[Bar[int32]]()
 #bug #6073
+
+# bug #11479
+
+import tables
+
+proc test() =
+  discard readfile("temp.nim")
+  echo "ho"
+
+const
+  map = {
+    "test": test,
+  }.toTable
+
+#map["test"]()