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)