fix iterator equality + add test for proc equality + fix sameType (#21707)

* fix iterator equality + add test also for procs

fixes #21706

* all targets

* and isNil and repr

* separate overloads, fix sameType

* more restricted sameType?

* merge overloads again??

* remove sametype change for now

* fix sameType anyway (CI failure was not related)

---------

Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
This commit is contained in:
metagn
2023-04-23 12:43:59 +03:00
committed by GitHub
parent 265a340e80
commit 380dafcc32
7 changed files with 73 additions and 5 deletions

View File

@@ -73,4 +73,17 @@ proc main =
doAssert closureProc is proc
takesAnyProc(closureProc)
block: # supposed to test that sameType works
template ensureNotRedefine(Ty): untyped =
proc foo[T: Ty](x: T) = discard
doAssert not (compiles do:
proc bar[T: Ty](x: T) = discard
proc bar[T: Ty](x: T) = discard)
ensureNotRedefine proc
ensureNotRedefine iterator
ensureNotRedefine proc {.nimcall.}
ensureNotRedefine iterator {.nimcall.}
ensureNotRedefine proc {.closure.}
ensureNotRedefine iterator {.closure.}
main()