1// compile 2 3// Copyright 2022 The Go Authors. All rights reserved. 4// Use of this source code is governed by a BSD-style 5// license that can be found in the LICENSE file. 6 7package p 8 9type Eq[T any] interface { 10 Eqv(a T, b T) bool 11} 12 13type EqFunc[T any] func(a, b T) bool 14 15func (r EqFunc[T]) Eqv(a, b T) bool { 16 return r(a, b) 17} 18 19func New[T any](f func(a, b T) bool) Eq[T] { 20 return EqFunc[T](f) 21} 22 23func Equal(a, b []byte) bool { 24 return string(a) == string(b) 25} 26 27var Bytes Eq[[]byte] = New(Equal) 28