diff --git a/internal/lsp/source/completion.go b/internal/lsp/source/completion.go index 96db89bcb0..33dcaab9e1 100644 --- a/internal/lsp/source/completion.go +++ b/internal/lsp/source/completion.go @@ -1734,8 +1734,7 @@ func (ci candidateInference) applyTypeNameModifiers(typ types.Type) types.Type { // matchesVariadic returns true if we are completing a variadic // parameter and candType is a compatible slice type. func (ci candidateInference) matchesVariadic(candType types.Type) bool { - return ci.variadicType != nil && types.AssignableTo(ci.objType, candType) - + return ci.variadicType != nil && types.AssignableTo(candType, ci.objType) } // findSwitchStmt returns an *ast.CaseClause's corresponding *ast.SwitchStmt or diff --git a/internal/lsp/testdata/lsp/primarymod/variadic/variadic.go.in b/internal/lsp/testdata/lsp/primarymod/variadic/variadic.go.in index 5ce4703c82..4787498ce7 100644 --- a/internal/lsp/testdata/lsp/primarymod/variadic/variadic.go.in +++ b/internal/lsp/testdata/lsp/primarymod/variadic/variadic.go.in @@ -8,9 +8,10 @@ func bar() []string { //@item(vFunc, "bar", "func() []string", "func") func _() { var ( - i int //@item(vInt, "i", "int", "var") - s string //@item(vStr, "s", "string", "var") - ss []string //@item(vStrSlice, "ss", "[]string", "var") + i int //@item(vInt, "i", "int", "var") + s string //@item(vStr, "s", "string", "var") + ss []string //@item(vStrSlice, "ss", "[]string", "var") + v interface{} //@item(vIntf, "v", "interface{}", "var") ) foo() //@rank(")", vInt, vStr),rank(")", vInt, vStrSlice) @@ -20,6 +21,9 @@ func _() { // snippet will add the "..." for you foo(123, ) //@snippet(")", vStrSlice, "ss...", "ss..."),snippet(")", vFunc, "bar()...", "bar()..."),snippet(")", vStr, "s", "s") + + // don't add "..." for interface{} + foo(123, ) //@snippet(")", vIntf, "v", "v") } func qux(...func()) {} diff --git a/internal/lsp/testdata/lsp/summary.txt.golden b/internal/lsp/testdata/lsp/summary.txt.golden index f1575fef85..871fc2fb4d 100644 --- a/internal/lsp/testdata/lsp/summary.txt.golden +++ b/internal/lsp/testdata/lsp/summary.txt.golden @@ -1,7 +1,7 @@ -- summary -- CodeLensCount = 2 CompletionsCount = 237 -CompletionSnippetCount = 75 +CompletionSnippetCount = 76 UnimportedCompletionsCount = 6 DeepCompletionsCount = 5 FuzzyCompletionsCount = 8