From b42590c1b162e2582ffa5bd6a5f1dbae73cf1752 Mon Sep 17 00:00:00 2001 From: Rebecca Stambler Date: Wed, 15 Jul 2020 13:21:46 -0400 Subject: [PATCH] internal/lsp/source: handle nil pointer in newBuiltinSignature Fixes golang/go#40230 Change-Id: I457dd3ef009c9df9293f66871acdd90dcc6e1dcc Reviewed-on: https://go-review.googlesource.com/c/tools/+/242798 Run-TryBot: Rebecca Stambler Reviewed-by: Robert Findley --- internal/lsp/source/types_format.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/lsp/source/types_format.go b/internal/lsp/source/types_format.go index d07ee736bff..6c96b802e24 100644 --- a/internal/lsp/source/types_format.go +++ b/internal/lsp/source/types_format.go @@ -79,7 +79,11 @@ func newBuiltinSignature(ctx context.Context, view View, name string) (*signatur if err != nil { return nil, err } - decl, ok := builtin.Package().Scope.Lookup(name).Decl.(*ast.FuncDecl) + obj := builtin.Package().Scope.Lookup(name) + if obj == nil { + return nil, fmt.Errorf("no builtin object for %s", name) + } + decl, ok := obj.Decl.(*ast.FuncDecl) if !ok { return nil, fmt.Errorf("no function declaration for builtin: %s", name) }