summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2019-05-28 15:55:11 +0200
committerGitHub <noreply@github.com>2019-05-28 15:55:11 +0200
commit9d8b4d60206cc31ed87ac69723930d79fa4d2c89 (patch)
treeb97533731a268b6e80f5cf9a09ac16ea5360a28b /compiler
parent1f8c9aff1f8de7294c5326c7e986779ab27f0239 (diff)
downloadNim-9d8b4d60206cc31ed87ac69723930d79fa4d2c89.tar.gz
fixes #11057 (#11345)
Diffstat (limited to 'compiler')
-rw-r--r--compiler/modules.nim2
-rw-r--r--compiler/sigmatch.nim6
2 files changed, 7 insertions, 1 deletions
diff --git a/compiler/modules.nim b/compiler/modules.nim
index 1b8c7b958..e45c5786d 100644
--- a/compiler/modules.nim
+++ b/compiler/modules.nim
@@ -108,7 +108,7 @@ proc importModule*(graph: ModuleGraph; s: PSym, fileIdx: FileIndex): PSym {.proc
   #  localError(result.info, errAttemptToRedefine, result.name.s)
   # restore the notes for outer module:
   graph.config.notes =
-    if s.owner.id == graph.config.mainPackageId: graph.config.mainPackageNotes
+    if s.owner.id == graph.config.mainPackageId or isDefined(graph.config, "booting"): graph.config.mainPackageNotes
     else: graph.config.foreignPackageNotes
 
 proc includeModule*(graph: ModuleGraph; s: PSym, fileIdx: FileIndex): PNode {.procvar.} =
diff --git a/compiler/sigmatch.nim b/compiler/sigmatch.nim
index 8065c4992..339af007a 100644
--- a/compiler/sigmatch.nim
+++ b/compiler/sigmatch.nim
@@ -1664,6 +1664,12 @@ proc typeRel(c: var TCandidate, f, aOrig: PType,
               return isGeneric
             result = typeRel(c, f.base, aa)
             if result > isGeneric: result = isGeneric
+        elif c.isNoCall:
+          if doBind:
+            let concrete = concreteType(c, a, f)
+            if concrete == nil: return isNone
+            put(c, f, concrete)
+          result = isGeneric
         else:
           result = isNone
       else: