This test verifies the fix for golang/go#73972: extraction should
not modify the return statements of anonymous functions.

-- go.mod --
module mod.test/extract

go 1.18

-- a.go --
package extract

import (
    "fmt"
    "strings"
)

func main() {
	b := strings.ContainsFunc("a", func(_ rune) bool { //@codeaction("b", "refactor.extract.function", end=end, result=ext)
		return false
	})
	if b {
		return
	} //@loc(end, "}")
	fmt.Println(b)
}

-- @ext/a.go --
package extract

import (
    "fmt"
    "strings"
)

func main() {
	b, shouldReturn := newFunction()
	if shouldReturn {
		return
	} //@loc(end, "}")
	fmt.Println(b)
}

func newFunction() (bool, bool) {
	b := strings.ContainsFunc("a", func(_ rune) bool { //@codeaction("b", "refactor.extract.function", end=end, result=ext)
		return false
	})
	if b {
		return false, true
	}
	return b, false
}

