]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go/internal/vet: only set work.VetExplicit if the list of explicit flags is non...
authorBryan C. Mills <bcmills@google.com>
Wed, 5 Feb 2020 18:36:53 +0000 (13:36 -0500)
committerBryan C. Mills <bcmills@google.com>
Wed, 5 Feb 2020 19:19:56 +0000 (19:19 +0000)
Updates #35837
Fixes #37030

Change-Id: Ifd3435803622a8624bab55a0f3fbc8855025282f
Reviewed-on: https://go-review.googlesource.com/c/go/+/217897
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
src/cmd/go/internal/vet/vet.go
src/cmd/go/testdata/script/vet_flags.txt

index 660a739fbbd4d3b9d17a0bd9ea2633971e102130..4e09c0fb9c92e3ceaa7132be04cde28bb680bae8 100644 (file)
@@ -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)
index 6aa1413fa4333770b553111bb92165ab2154efc6..f2cf021f6284d62c961f8ed12dea065512d2d873 100644 (file)
@@ -6,6 +6,17 @@ go vet -n -unreachable=false encoding/binary
 stderr '-unreachable=false'
 ! stderr '-unsafeptr=false'
 
+# Issue 37030: "go vet <std package>" 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