diff --git a/common/prque/sstack.go b/common/prque/sstack.go index 6865a51e2366..77f1476140ab 100755 --- a/common/prque/sstack.go +++ b/common/prque/sstack.go @@ -52,6 +52,7 @@ func newSstack[P cmp.Ordered, V any](setIndex SetIndexCallback[V]) *sstack[P, V] // Push a value onto the stack, expanding it if necessary. Required by // heap.Interface. func (s *sstack[P, V]) Push(data any) { + itm := data.(*item[P, V]) if s.size == s.capacity { s.active = make([]*item[P, V], blockSize) s.blocks = append(s.blocks, s.active) @@ -62,9 +63,9 @@ func (s *sstack[P, V]) Push(data any) { s.offset = 0 } if s.setIndex != nil { - s.setIndex(data.(*item[P, V]).value, s.size) + s.setIndex(itm.value, s.size) } - s.active[s.offset] = data.(*item[P, V]) + s.active[s.offset] = itm s.offset++ s.size++ }