package assign

import "golang.org/x/tools/internal/lsp/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)
	}
}
