// 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

func f1[_ comparable]()              {}
func f2[_ interface{ comparable }]() {}

type T interface{ m() }

func _[P comparable, Q ~int, R any]() {
	_ = f1[int]
	_ = f1[T /* T does satisfy comparable */]
	_ = f1[any /* any does satisfy comparable */]
	_ = f1[P]
	_ = f1[Q]
	_ = f1[R /* ERROR "R does not satisfy comparable" */]

	_ = f2[int]
	_ = f2[T /* T does satisfy comparable */]
	_ = f2[any /* any does satisfy comparable */]
	_ = f2[P]
	_ = f2[Q]
	_ = f2[R /* ERROR "R does not satisfy comparable" */]
}
