]> Cypherpunks repositories - gostls13.git/commit
cmd/vet: allow any printf verb with any interface
authorJosh Bleecher Snyder <josharian@gmail.com>
Thu, 7 Jul 2016 23:09:08 +0000 (16:09 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Thu, 18 Aug 2016 02:01:25 +0000 (02:01 +0000)
commit11e93aa24a61e0c4b25600bf2a681b8779371fe8
tree117dfe73f5257cf7ae3d4dbc1403d6e656cc22ec
parent0ece9c4b592502647699c2b15d9f0b7332b26de6
cmd/vet: allow any printf verb with any interface

fmt treats interfaces as being transparent.
As a result, we cannot say with confidence
that any particular verb is wrong.

This fixes the following vet false positives
in the standard library:

database/sql/sql_test.go:210: arg dep for printf verb %p of wrong type: sql.finalCloser
fmt/fmt_test.go:1663: arg nil for printf verb %s of wrong type: untyped nil
go/ast/commentmap.go:328: arg node for printf verb %p of wrong type: ast.Node
net/http/transport_test.go:120: arg c for printf verb %p of wrong type: net.Conn
net/http/httptest/server.go:198: arg c for printf verb %p of wrong type: net.Conn
net/http/httputil/dump_test.go:258: arg body for printf verb %p of wrong type: io.Reader
reflect/set_test.go:81: arg x for printf verb %p of wrong type: io.Writer
reflect/set_test.go:141: arg bb for printf verb %p of wrong type: io.Reader

Updates #11041
Updates #16314

Change-Id: I76df01abb3c34a97b6960f551bed9c1c91377cfc
Reviewed-on: https://go-review.googlesource.com/27127
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
src/cmd/vet/testdata/print.go
src/cmd/vet/types.go