1// Copyright 2020 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//gofmt 6 7package typeparams 8 9type T[P any] struct{} 10type T[P1, P2, P3 any] struct{} 11 12type T[P C] struct{} 13type T[P1, P2, P3 C] struct{} 14 15type T[P C[P]] struct{} 16type T[P1, P2, P3 C[P1, P2, P3]] struct{} 17 18func f[P any](x P) 19func f[P1, P2, P3 any](x1 P1, x2 P2, x3 P3) struct{} 20 21func f[P interface{}](x P) 22func f[P1, P2, P3 interface { 23 m1(P1) 24 ~P2 | ~P3 25}](x1 P1, x2 P2, x3 P3) struct{} 26func f[P any](T1[P], T2[P]) T3[P] 27 28func (x T[P]) m() 29func (T[P]) m(x T[P]) P 30 31func _() { 32 type _ []T[P] 33 var _ []T[P] 34 _ = []T[P]{} 35} 36