diff --git a/internal/lsp/source/completion/deep_completion.go b/internal/lsp/source/completion/deep_completion.go index 61b29c3447..71a6726ae8 100644 --- a/internal/lsp/source/completion/deep_completion.go +++ b/internal/lsp/source/completion/deep_completion.go @@ -121,12 +121,16 @@ outer: cand := c.deepState.dequeue() obj := cand.obj + if obj == nil { + continue + } + // At the top level, dedupe by object. if len(cand.path) == 0 { - if c.seen[cand.obj] { + if c.seen[obj] { continue } - c.seen[cand.obj] = true + c.seen[obj] = true } // If obj is not accessible because it lives in another package and is