// Copyright 2021 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 f[_ comparable]() {}
func g[_ interface{interface{comparable; ~int|~string}}]() {}

func _[P comparable,
        Q interface{ comparable; ~int|~string },
        R any,                               // not comparable
        S interface{ comparable; ~func() },  // not comparable
]() {
        _ = f[int]
        _ = f[P]
        _ = f[Q]
        _ = f[func( /* ERROR does not satisfy comparable */ )]
        _ = f[R /* ERROR R has no constraints */ ]

        _ = g[int]
        _ = g[P /* ERROR P has no type constraints */ ]
        _ = g[Q]
        _ = g[func( /* ERROR does not satisfy comparable */ )]
        _ = g[R /* ERROR R has no constraints */ ]
}
