diff options
-rw-r--r-- | lib/pure/hashes.nim | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/pure/hashes.nim b/lib/pure/hashes.nim index df29dc080..c8b9f0e06 100644 --- a/lib/pure/hashes.nim +++ b/lib/pure/hashes.nim @@ -149,6 +149,12 @@ proc hash*(x: float): Hash {.inline.} = var y = x + 1.0 result = cast[ptr Hash](addr(y))[] + +# Forward declarations before methods that hash containers. This allows +# containers to contain other containers +proc hash*[A](x: openArray[A]): Hash +proc hash*[A](x: set[A]): Hash + template bytewiseHashing(result: Hash, x: typed, start, stop: int) = for i in start .. stop: result = result !& hash(x[i]) @@ -292,12 +298,6 @@ proc hashIgnoreCase*(sBuf: string, sPos, ePos: int): Hash = result = !$h -# Forward declarations before methods that hash containers. This allows -# containers to contain other containers -proc hash*[A](x: openArray[A]): Hash -proc hash*[A](x: set[A]): Hash - - proc hash*[T: tuple](x: T): Hash = ## Efficient hashing of tuples. for f in fields(x): |