1// Copyright 2021 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// This file contains test cases for interfaces containing
6// constraint elements.
7
8package p
9
10type _ interface {
11	m()
12	~int
13	~int|string
14	E
15}
16
17type _ interface {
18	m()
19	~int
20	int | string
21	int | ~string
22	~int | ~string
23}
24
25type _ interface {
26	m()
27	~int
28	T[int, string] | string
29	int | ~T[string, struct{}]
30	~int | ~string
31}
32
33type _ interface {
34	int
35	[]byte
36	[10]int
37	struct{}
38	*int
39	func()
40	interface{}
41	map[string]int
42	chan T
43	chan<- T
44	<-chan T
45	T[int]
46}
47
48type _ interface {
49	int | string
50	[]byte | string
51	[10]int | string
52	struct{} | string
53	*int | string
54	func() | string
55	interface{} | string
56	map[string]int | string
57	chan T | string
58	chan<- T | string
59	<-chan T | string
60	T[int] | string
61}
62
63type _ interface {
64	~int | string
65	~[]byte | string
66	~[10]int | string
67	~struct{} | string
68	~*int | string
69	~func() | string
70	~interface{} | string
71	~map[string]int | string
72	~chan T | string
73	~chan<- T | string
74	~<-chan T | string
75	~T[int] | string
76}
77