blob: 2ed9339c5204d6525b57bf9961bef8ae954c2d99 [file] [log] [blame]
Dan Willemsenbc60c3c2021-12-15 01:09:00 -08001// 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}