summaryrefslogtreecommitdiffstats
path: root/src/internal/types/testdata/spec/comparable.go
blob: f407c356d39dc14206365a4f10e26d503f1338cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 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 */]
}