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() {}