diff --git a/internal/lsp/cache/load.go b/internal/lsp/cache/load.go index 913ef4a3..789784da 100644 --- a/internal/lsp/cache/load.go +++ b/internal/lsp/cache/load.go @@ -118,7 +118,8 @@ func (v *view) checkMetadata(ctx context.Context, f *goFile) (map[packageID]*met return nil, pkg.Errors, fmt.Errorf("package %s has errors, skipping type-checking", pkg.PkgPath) } for importPath, importPkg := range pkg.Imports { - if len(importPkg.Errors) > 0 { + // If we encounter a package we cannot import, mark it as missing. + if importPkg.PkgPath != "unsafe" && len(importPkg.CompiledGoFiles) == 0 { if f.missingImports == nil { f.missingImports = make(map[packagePath]struct{}) }