Updates #30296
Change-Id: Ifea1a4c82c1c5b31fdc2e96fdbb1274748c8f50e
Reviewed-on: https://go-review.googlesource.com/c/go/+/164459
Reviewed-by: Bryan C. Mills <bcmills@google.com>
} else {
deps = []*Action{a1, aFmt}
}
- for _, p1 := range load.PackageList(p.Internal.Imports) {
+ for _, p1 := range p.Internal.Imports {
deps = append(deps, b.vetAction(mode, depMode, p1))
}
--- /dev/null
+env GO111MODULE=off
+
+# Issue 30296. Verify that "go vet" uses only immediate dependencies.
+
+# First run fills the cache.
+go vet a
+
+go vet -x a
+! stderr 'transitive'
+
+-- a/a.go --
+package a
+
+import "b"
+
+func F() {
+ b.F()
+}
+
+-- b/b.go --
+package b
+
+import "transitive"
+
+func F() {
+ transitive.F()
+}
+
+-- transitive/c.go --
+package transitive
+
+func F() {
+}
+