// Copyright 2022 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package p // simplified example func f[T ~func(T)](a, b T) {} type F func(F) func _() { var i F var j func(F) f(i, j) f(j, i) } // example from issue func g[T interface{ Equal(T) bool }](a, b T) {} type I interface{ Equal(I) bool } func _() { var i I var j interface{ Equal(I) bool } g(i, j) g(j, i) }