blob: b46a0837d132a8f536587083b7b5be7050ff04a5 [file] [log] [blame]
-- Q-rename --
//go:build go1.18
// +build go1.18
package generics
type G[P any] struct {
F int
}
func (G[_]) M() {}
func F[Q any](Q) {
var p Q //@rename("P", "Q")
_ = p
}
func _() {
var x G[int] //@rename("G", "H")
_ = x.F //@rename("F", "K")
x.M() //@rename("M", "N")
var y G[string]
_ = y.F
y.M()
}
-- H-rename --
//go:build go1.18
// +build go1.18
package generics
type H[P any] struct {
F int
}
func (H[_]) M() {}
func F[P any](P) {
var p P //@rename("P", "Q")
_ = p
}
func _() {
var x H[int] //@rename("G", "H")
_ = x.F //@rename("F", "K")
x.M() //@rename("M", "N")
var y H[string]
_ = y.F
y.M()
}
-- K-rename --
//go:build go1.18
// +build go1.18
package generics
type G[P any] struct {
K int
}
func (G[_]) M() {}
func F[P any](P) {
var p P //@rename("P", "Q")
_ = p
}
func _() {
var x G[int] //@rename("G", "H")
_ = x.K //@rename("F", "K")
x.M() //@rename("M", "N")
var y G[string]
_ = y.K
y.M()
}
-- N-rename --
//go:build go1.18
// +build go1.18
package generics
type G[P any] struct {
F int
}
func (G[_]) N() {}
func F[P any](P) {
var p P //@rename("P", "Q")
_ = p
}
func _() {
var x G[int] //@rename("G", "H")
_ = x.F //@rename("F", "K")
x.N() //@rename("M", "N")
var y G[string]
_ = y.F
y.N()
}