]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/vet: %T is a formatting directive too
authorDaniel Martí <mvdan@mvdan.cc>
Fri, 4 May 2018 03:10:59 +0000 (10:10 +0700)
committerDaniel Martí <mvdan@mvdan.cc>
Fri, 4 May 2018 23:25:17 +0000 (23:25 +0000)
Some warnings were being missed, because vet's regex that finds
formatting directives was missing the 'T' verb.

Fixes #24646.

Change-Id: I2f6f9ed19e7daf9a07175199f428a62e94799ea9
Reviewed-on: https://go-review.googlesource.com/111357
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Rob Pike <r@golang.org>
src/cmd/vet/print.go
src/cmd/vet/testdata/print.go

index e4e99641ef4290e3af97e18d56c81a61bb840cb1..6728d88d45d28893c2b838d832967a6288ee30fb 100644 (file)
@@ -721,7 +721,7 @@ const (
        flagsRE    = `[+\-#]*`
        indexOptRE = `(\[[0-9]+\])?`
        numOptRE   = `([0-9]+|` + indexOptRE + `\*)?`
-       verbRE     = `[bcdefgopqstvxEFGUX]`
+       verbRE     = `[bcdefgopqstvxEFGTUX]`
 )
 
 // checkPrint checks a call to an unformatted print routine such as Println.
index 459b08141b4996dd2c7fff5bf9a110a392b3815b..34f4e2865a142b231c99bd9a368228e2059e5003 100644 (file)
@@ -148,6 +148,7 @@ func PrintfTests() {
        fmt.Println()                               // not an error
        fmt.Println("%s", "hi")                     // ERROR "Println call has possible formatting directive %s"
        fmt.Println("%v", "hi")                     // ERROR "Println call has possible formatting directive %v"
+       fmt.Println("%T", "hi")                     // ERROR "Println call has possible formatting directive %T"
        fmt.Println("0.0%")                         // correct (trailing % couldn't be a formatting directive)
        fmt.Printf("%s", "hi", 3)                   // ERROR "Printf call needs 1 arg but has 2 args"
        _ = fmt.Sprintf("%"+("s"), "hi", 3)         // ERROR "Sprintf call needs 1 arg but has 2 args"