Source file
test/genmeth2.go
1
2
3
4
5
6
7
8
9 package main
10
11 import "fmt"
12
13 type T struct {}
14
15 func (t *T) m[P any]() {
16 var x P
17 if got := fmt.Sprintf("%T", x); got != "int" {
18 panic(fmt.Sprintf("got %s, want int", got))
19 }
20 }
21
22 type G[P any] struct {}
23
24 func (g *G[P]) m[Q any]() {
25 var p P
26 var q Q
27 if got := fmt.Sprintf("%T %T", p, q); got != "int bool" {
28 panic(fmt.Sprintf("got %s, want int bool", got))
29 }
30 }
31
32 func main() {
33 (&T{}).m[int]()
34 (&G[int]{}).m[bool]()
35 }
36
View as plain text