in lru.go [210:221]
func (lru *LRU[K, V]) unlinkBucket(pos uint32) {
prevBucket := lru.elements[pos].prevBucket
nextBucket := lru.elements[pos].nextBucket
if prevBucket == nextBucket && prevBucket == pos { //nolint:gocritic
// The element references itself, so it's the only bucket entry
lru.buckets[lru.elements[pos].bucketPos] = emptyBucket
return
}
lru.elements[prevBucket].nextBucket = nextBucket
lru.elements[nextBucket].prevBucket = prevBucket
lru.buckets[lru.elements[pos].bucketPos] = nextBucket
}