From 60ec5c89c5b54a6f2a249c9c7e525085133da646 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Wed, 15 Apr 2020 23:35:10 +0200 Subject: [PATCH] added a .since annotation to hashIdentity --- lib/pure/hashes.nim | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/pure/hashes.nim b/lib/pure/hashes.nim index d6a7c7e41d..287b152d2a 100644 --- a/lib/pure/hashes.nim +++ b/lib/pure/hashes.nim @@ -44,6 +44,8 @@ ## * `std/sha1 module `_ for a sha1 encoder and decoder ## * `tables module `_ for hash tables +include "system/inclrtl" + type Hash* = int ## A hash value. Hash tables using these values should ## always have a size of a power of two and can use the ``and`` @@ -172,14 +174,14 @@ proc hash*[T: proc](x: T): Hash {.inline.} = else: result = hash(pointer(x)) -proc hashIdentity*[T: Ordinal](x: T): Hash {.inline.} = +proc hashIdentity*[T: Ordinal](x: T): Hash {.inline, since: (1, 3).} = ## The identity hash. I.e. ``hashIdentity(x) = x``. cast[Hash](ord(x)) when defined(nimIntHash1): proc hash*[T: Ordinal](x: T): Hash {.inline.} = ## Efficient hashing of integers. - hashIdentity(x) + cast[Hash](ord(x)) else: proc hash*[T: Ordinal](x: T): Hash {.inline.} = ## Efficient hashing of integers.