std/hashes: hash(ref|ptr|pointer) + other improvements (#17731)

This commit is contained in:
Timothee Cour 2021-04-16 05:21:26 -07:00 • committed by GitHub
commit d19e4310dc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 96 additions and 36 deletions

View file

@ -7,7 +7,11 @@ And we get here
3
'''
joinable: false
targets: "c cpp js"
"""
# xxx wrap in a template to test in VM, see https://github.com/timotheecour/Nim/issues/534#issuecomment-769565033
import hashes, sequtils, tables, algorithm
proc sortedPairs[T](t: T): auto = toSeq(t.pairs).sorted
@ -444,3 +448,13 @@ block emptyOrdered:
var t2: OrderedTable[int, string]
doAssert t1 == t2
block: # Table[ref, int]
type A = ref object
x: int
var t: OrderedTable[A, int]
let a1 = A(x: 3)
let a2 = A(x: 3)
t[a1] = 10
t[a2] = 11
doAssert t[a1] == 10
doAssert t[a2] == 11