in lru.go [613:633]
func (lru *LRU[K, V]) dump() {
fmt.Printf("head %d len %d cap %d size %d mask 0x%X\n",
lru.head, lru.len, lru.cap, lru.size, lru.mask)
for i := range lru.buckets {
if lru.buckets[i] == emptyBucket {
continue
}
fmt.Printf(" bucket[%d] -> %d\n", i, lru.buckets[i])
pos := lru.buckets[i]
for {
e := &lru.elements[pos]
fmt.Printf(" pos %d bucketPos %d prevBucket %d nextBucket %d prev %d next %d k %v v %v\n",
pos, e.bucketPos, e.prevBucket, e.nextBucket, e.prev, e.next, e.key, e.value)
pos = e.nextBucket
if pos == lru.buckets[i] {
break
}
}
}
}