This test checks that completion considers assignability when ranking results.

-- flags --
-ignore_extra_diags

-- go.mod --
module golang.org/lsptests/assign

go 1.18

-- settings.json --
{
	"completeUnimported": false
}

-- assign.go --
package assign

import "golang.org/lsptests/assign/internal/secret"

func _() {
	secret.Hello()
	var (
		myInt int //@item(assignInt, "myInt", "int", "var")
		myStr string //@item(assignStr, "myStr", "string", "var")
	)

	var _ string = my //@rank(" //", assignStr, assignInt)
	var _ string = //@rank(" //", assignStr, assignInt)
}

func _() {
	var a string = a //@complete(" //")
}

func _() {
	fooBar := fooBa //@complete(" //"),item(assignFooBar, "fooBar", "", "var")
	abc, fooBar := 123, fooBa //@complete(" //", assignFooBar)
	{
		fooBar := fooBa //@complete(" //", assignFooBar)
	}
}

-- internal/secret/secret.go --
package secret

func Hello() {}
