go/packages: make loadFromExportData ignore go.shape
From Reilly Watson <reillywatson@gmail.com> (previous CLA)
Fixes golang/go#51629
Change-Id: I5891aa568d66d9471488a957e45a2fa22a58e0a4
Reviewed-on: https://go-review.googlesource.com/c/tools/+/400034
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
diff --git a/go/packages/packages.go b/go/packages/packages.go
index f9bc35d..5e09e23 100644
--- a/go/packages/packages.go
+++ b/go/packages/packages.go
@@ -1234,6 +1234,11 @@
if err != nil {
return nil, fmt.Errorf("reading %s: %v", lpkg.ExportFile, err)
}
+ if _, ok := view["go.shape"]; ok {
+ // Account for the pseudopackage "go.shape" that gets
+ // created by generic code.
+ viewLen++
+ }
if viewLen != len(view) {
log.Panicf("golang.org/x/tools/go/packages: unexpected new packages during load of %s", lpkg.PkgPath)
}