This test checks that we don't introduce unnecessary (&v) or (*ptr) operations
when calling a method on an addressable receiver.

-- go.mod --
module testdata

go 1.20

-- main.go --
package foo
type T int

func (*T) F() {}

func (t *T) G() { t.F() }

func main() {
	var t T
	t.G() //@ inline(re"G", inline)
}

-- inline --
package foo

type T int

func (*T) F() {}

func (t *T) G() { t.F() }

func main() {
	var t T
	t.F() //@ inline(re"G", inline)
}
