[bugfix] hashes: fix regression for nested containers (#11426)
Move forward declarations earlier.
This commit is contained in:
parent
bf63d83a97
commit
bf9f1f7b45
1 changed files with 6 additions and 6 deletions
|
|
@ -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):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue