summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/semcall.nim13
-rw-r--r--compiler/types.nim3
-rw-r--r--tests/stdlib/nre/find.nim4
-rw-r--r--todo.txt3
4 files changed, 17 insertions, 6 deletions
diff --git a/compiler/semcall.nim b/compiler/semcall.nim
index 87a34ca4a..c62f53a62 100644
--- a/compiler/semcall.nim
+++ b/compiler/semcall.nim
@@ -53,7 +53,18 @@ proc pickBestCandidate(c: PContext, headSymbol: PNode,
     if symx.kind in filter:
       syms.add((symx, o.lastOverloadScope))
     symx = nextOverloadIter(o, c, headSymbol)
-  if syms.len == 0: return
+  if syms.len == 0:
+    when false:
+      if skIterator notin filter:
+        # also try iterators, but these are 2nd class:
+        symx = initOverloadIter(o, c, headSymbol)
+        while symx != nil:
+          if symx.kind == skIterator:
+            syms.add((symx, 100))
+          symx = nextOverloadIter(o, c, headSymbol)
+        if syms.len == 0: return
+    else:
+      return
 
   var z: TCandidate
   initCandidate(c, best, syms[0][0], initialBinding, symScope)
diff --git a/compiler/types.nim b/compiler/types.nim
index 42ca0f9fc..c56382b89 100644
--- a/compiler/types.nim
+++ b/compiler/types.nim
@@ -914,7 +914,8 @@ proc sameTypeAux(x, y: PType, c: var TSameTypeClosure): bool =
       while a.kind == tyDistinct: a = a.sons[0]
       if a.kind != b.kind: return false
 
-  if x.kind == tyGenericInst:
+  # this is required by tunique_type but makes no sense really:
+  if x.kind == tyGenericInst and IgnoreTupleFields notin c.flags:
     let
       lhs = x.skipGenericAlias
       rhs = y.skipGenericAlias
diff --git a/tests/stdlib/nre/find.nim b/tests/stdlib/nre/find.nim
index 05bfb848a..94fdd0bc1 100644
--- a/tests/stdlib/nre/find.nim
+++ b/tests/stdlib/nre/find.nim
@@ -1,4 +1,6 @@
-import unittest, sequtils, nre, optional_nonstrict
+import unittest, sequtils
+import nre except toSeq
+import optional_nonstrict
 
 suite "find":
   test "find text":
diff --git a/todo.txt b/todo.txt
index 38d0fef58..86bffcc3d 100644
--- a/todo.txt
+++ b/todo.txt
@@ -1,9 +1,6 @@
 version 1.0 battle plan
 =======================
 
-- tests/stdlib/tnre.nim
-- tests/closure/tflatmap.nim
-
 - fix "high priority" bugs
 - try to fix as many compiler crashes as reasonable