From: Bryan C. Mills Date: Wed, 5 Feb 2020 18:36:53 +0000 (-0500) Subject: cmd/go/internal/vet: only set work.VetExplicit if the list of explicit flags is non... X-Git-Tag: go1.14~10^2~9 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=8a4d05cf07cddb724422d24e57c18c1bd8d8ad02;p=gostls13.git cmd/go/internal/vet: only set work.VetExplicit if the list of explicit flags is non-empty Updates #35837 Fixes #37030 Change-Id: Ifd3435803622a8624bab55a0f3fbc8855025282f Reviewed-on: https://go-review.googlesource.com/c/go/+/217897 Run-TryBot: Bryan C. Mills TryBot-Result: Gobot Gobot Reviewed-by: Jay Conrod --- diff --git a/src/cmd/go/internal/vet/vet.go b/src/cmd/go/internal/vet/vet.go index 660a739fbb..4e09c0fb9c 100644 --- a/src/cmd/go/internal/vet/vet.go +++ b/src/cmd/go/internal/vet/vet.go @@ -51,7 +51,9 @@ func runVet(cmd *base.Command, args []string) { work.BuildInit() work.VetFlags = vetFlags - work.VetExplicit = true + if len(vetFlags) > 0 { + work.VetExplicit = true + } if vetTool != "" { var err error work.VetTool, err = filepath.Abs(vetTool) diff --git a/src/cmd/go/testdata/script/vet_flags.txt b/src/cmd/go/testdata/script/vet_flags.txt index 6aa1413fa4..f2cf021f62 100644 --- a/src/cmd/go/testdata/script/vet_flags.txt +++ b/src/cmd/go/testdata/script/vet_flags.txt @@ -6,6 +6,17 @@ go vet -n -unreachable=false encoding/binary stderr '-unreachable=false' ! stderr '-unsafeptr=false' +# Issue 37030: "go vet " without other flags should disable the +# unsafeptr check by default. +go vet -n encoding/binary +stderr '-unsafeptr=false' +! stderr '-unreachable=false' + +# However, it should be enabled if requested explicitly. +go vet -n -unsafeptr encoding/binary +stderr '-unsafeptr' +! stderr '-unsafeptr=false' + [short] stop env GOCACHE=$WORK/gocache env GOTMPDIR=$WORK/tmp