Implementing a generic interface in Go

Viewed 48

In the below example, WK8Map implements OrderedMap:

type OrderedMap interface {
    Get(string) string
}

type WK8Map struct {
    value *orderedmap.OrderedMap[string, string]
}

func (m *WK8Map) Get(key string) string {
    return ""
}

However, the moment I introduce generics, my IDE GoLand says that WK8Map no longer implements OrderedMap:

type OrderedMap[K comparable, V any] interface {
    Get(K) V
}

type WK8Map[K comparable, V any] struct {
    value *orderedmap.OrderedMap[K, V]
}

func (m *WK8Map[K, V]) Get(key K) V {
    value, _ := m.value.Get(key)
    return value
}

Why does my attempt at implementing the generic interface fail?

0 Answers
Related