summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
authormetagn <metagngn@gmail.com>2023-04-11 10:23:41 +0300
committerGitHub <noreply@github.com>2023-04-11 09:23:41 +0200
commit1bb117cd7a49954832d21e6a1502492770acb77b (patch)
tree299cbbc13c72d8f0e3844a1c9770874a25050a67 /lib/pure
parent420b0c14eb0b82e05873191b277e889f95bc802b (diff)
downloadNim-1bb117cd7a49954832d21e6a1502492770acb77b.tar.gz
`proc` typeclass accounts for `iterator`, call conventions + `nil` fix + document typeclass AST (#21629)
* test fix #16546 #16548 + another issue

* please don't tell me other packages do this

* fix CI + test typeclass callconv pragma

* better logic in parser

* docs and changelog
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/hashes.nim2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/pure/hashes.nim b/lib/pure/hashes.nim
index 4ae4938c6..56c360138 100644
--- a/lib/pure/hashes.nim
+++ b/lib/pure/hashes.nim
@@ -501,7 +501,7 @@ proc hashIgnoreCase*(sBuf: string, sPos, ePos: int): Hash =
     h = h !& ord(c)
   result = !$h
 
-proc hash*[T: tuple | object | proc](x: T): Hash =
+proc hash*[T: tuple | object | proc | iterator {.closure.}](x: T): Hash =
   ## Efficient `hash` overload.
   runnableExamples:
     # for `tuple|object`, `hash` must be defined for each component of `x`.