File: generics_basic.txt

package info (click to toggle)
golang-golang-x-tools 1%3A0.25.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 22,724 kB
  • sloc: javascript: 2,027; asm: 1,645; sh: 166; yacc: 155; makefile: 49; ansic: 8
file content (107 lines) | stat: -rw-r--r-- 2,095 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
This test exercise basic renaming of generic code.

-- embedded.go --
package a

type foo[P any] int //@rename("foo", "bar", fooTobar)

var x struct{ foo[int] }

var _ = x.foo

-- @fooTobar/embedded.go --
@@ -3 +3 @@
-type foo[P any] int //@rename("foo", "bar", fooTobar)
+type bar[P any] int //@rename("foo", "bar", fooTobar)
@@ -5 +5 @@
-var x struct{ foo[int] }
+var x struct{ bar[int] }
@@ -7 +7 @@
-var _ = x.foo
+var _ = x.bar
-- generics.go --
package a

type G[P any] struct {
	F int
}

func (G[_]) M() {}

func F[P any](P) {
	var p P //@rename("P", "Q", PToQ)
	_ = p
}

func _() {
	var x G[int] //@rename("G", "H", GToH)
	_ = x.F      //@rename("F", "K", FToK)
	x.M()        //@rename("M", "N", MToN)

	var y G[string]
	_ = y.F
	y.M()
}

-- @FToK/generics.go --
@@ -4 +4 @@
-	F int
+	K int
@@ -16 +16 @@
-	_ = x.F      //@rename("F", "K", FToK)
+	_ = x.K      //@rename("F", "K", FToK)
@@ -20 +20 @@
-	_ = y.F
+	_ = y.K
-- @GToH/generics.go --
@@ -3 +3 @@
-type G[P any] struct {
+type H[P any] struct {
@@ -7 +7 @@
-func (G[_]) M() {}
+func (H[_]) M() {}
@@ -15 +15 @@
-	var x G[int] //@rename("G", "H", GToH)
+	var x H[int] //@rename("G", "H", GToH)
@@ -19 +19 @@
-	var y G[string]
+	var y H[string]
-- @MToN/generics.go --
@@ -7 +7 @@
-func (G[_]) M() {}
+func (G[_]) N() {}
@@ -17 +17 @@
-	x.M()        //@rename("M", "N", MToN)
+	x.N()        //@rename("M", "N", MToN)
@@ -21 +21 @@
-	y.M()
+	y.N()
-- @PToQ/generics.go --
@@ -9,2 +9,2 @@
-func F[P any](P) {
-	var p P //@rename("P", "Q", PToQ)
+func F[Q any](Q) {
+	var p Q //@rename("P", "Q", PToQ)
-- unions.go --
package a

type T string //@rename("T", "R", TToR)

type C interface {
	T | ~int //@rename("T", "S", TToS)
}

-- @TToR/unions.go --
@@ -3 +3 @@
-type T string //@rename("T", "R", TToR)
+type R string //@rename("T", "R", TToR)
@@ -6 +6 @@
-	T | ~int //@rename("T", "S", TToS)
+	R | ~int //@rename("T", "S", TToS)
-- @TToS/unions.go --
@@ -3 +3 @@
-type T string //@rename("T", "R", TToR)
+type S string //@rename("T", "R", TToR)
@@ -6 +6 @@
-	T | ~int //@rename("T", "S", TToS)
+	S | ~int //@rename("T", "S", TToS)