Просмотр исходного кода

util/cache: fix missing interface methods (#11275)

Updates #cleanup


Change-Id: Ib3a33a7609530ef8c9f3f58fc607a61e8655c4b5

Signed-off-by: Andrew Dunham <[email protected]>
Andrew Dunham 2 лет назад
Родитель
Сommit
a20e46a80f
2 измененных файлов с 8 добавлено и 1 удалено
  1. 6 1
      util/cache/none.go
  2. 2 0
      util/cache/single.go

+ 6 - 1
util/cache/none.go

@@ -8,6 +8,8 @@ package cache
 // It is safe for concurrent use if the underlying FillFunc is.
 type None[K comparable, V any] struct{}
 
+var _ Cache[int, int] = None[int, int]{}
+
 // Get always calls the provided FillFunc and returns what it does.
 func (c None[K, V]) Get(_ K, f FillFunc[V]) (V, error) {
 	v, _, e := f()
@@ -15,4 +17,7 @@ func (c None[K, V]) Get(_ K, f FillFunc[V]) (V, error) {
 }
 
 // Forget implements Cache.
-func (c None[K, V]) Forget() {}
+func (None[K, V]) Forget(K) {}
+
+// Empty implements Cache.
+func (None[K, V]) Empty() {}

+ 2 - 0
util/cache/single.go

@@ -25,6 +25,8 @@ type Single[K comparable, V any] struct {
 	ServeExpired bool
 }
 
+var _ Cache[int, int] = (*Single[int, int])(nil)
+
 // Get will return the cached value, if any, or fill the cache by calling f and
 // return the corresponding value. If f returns an error and c.ServeExpired is
 // true, then a previous expired value can be returned with no error.