Skip to content

Commit 1eed2a5

Browse files
slonBryan C. Mills
authored andcommitted
cmd/go: PackageVetx in vet.cfg should list only immediate dependencies.
Updates #30296 Change-Id: Ifea1a4c82c1c5b31fdc2e96fdbb1274748c8f50e Reviewed-on: https://go-review.googlesource.com/c/go/+/164459 Reviewed-by: Bryan C. Mills <[email protected]>
1 parent 64dc4ba commit 1eed2a5

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

src/cmd/go/internal/work/action.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ func (b *Builder) vetAction(mode, depMode BuildMode, p *load.Package) *Action {
423423
} else {
424424
deps = []*Action{a1, aFmt}
425425
}
426-
for _, p1 := range load.PackageList(p.Internal.Imports) {
426+
for _, p1 := range p.Internal.Imports {
427427
deps = append(deps, b.vetAction(mode, depMode, p1))
428428
}
429429

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
env GO111MODULE=off
2+
3+
# Issue 30296. Verify that "go vet" uses only immediate dependencies.
4+
5+
# First run fills the cache.
6+
go vet a
7+
8+
go vet -x a
9+
! stderr 'transitive'
10+
11+
-- a/a.go --
12+
package a
13+
14+
import "b"
15+
16+
func F() {
17+
b.F()
18+
}
19+
20+
-- b/b.go --
21+
package b
22+
23+
import "transitive"
24+
25+
func F() {
26+
transitive.F()
27+
}
28+
29+
-- transitive/c.go --
30+
package transitive
31+
32+
func F() {
33+
}
34+

0 commit comments

Comments
 (0)