ref: 94011e3762ca25b8ab3a9b9fe0d7a9e155381477
dir: /internal/lru/cache.go/
package lru
import "container/list"
// Cache is a non-concurrent weighted LRU cache.
//
// Methods on Cache are not safe for concurrent use.
type Cache[K comparable, V any] struct {
maxWeight int64
weightFn WeightFunc[K, V]
onEvict OnEvictFunc[K, V]
weight int64
items map[K]*list.Element
lru list.List
}