github.com/go-asm/go@v1.21.1-0.20240213172139-40c5ead50c48/cmd/gofmt/testdata/typeparams.input (about) 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 7 package typeparams 8 9 type T[ P any] struct{} 10 type T[P1, P2, P3 any] struct{} 11 12 type T[P C] struct{} 13 type T[P1,P2, P3 C] struct{} 14 15 type T[P C[P]] struct{} 16 type T[P1, P2, P3 C[P1,P2,P3]] struct{} 17 18 func f[P any](x P) 19 func f[P1, P2, P3 any](x1 P1, x2 P2, x3 P3) struct{} 20 21 func f[P interface{}](x P) 22 func f[P1, P2, P3 interface{ m1(P1); ~P2|~P3 }](x1 P1, x2 P2, x3 P3) struct{} 23 func f[P any](T1[P], T2[P]) T3[P] 24 25 func (x T[P]) m() 26 func ((T[P])) m(x T[P]) P 27 28 func _() { 29 type _ []T[P] 30 var _ []T[P] 31 _ = []T[P]{} 32 }