From 88d981ef8f8158b15938bd1bc77e47cea16fe5f0 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 11 Aug 2022 13:23:58 +0200 Subject: [PATCH] printf analyzer: link to fmt#Printing for verb/type docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Folks are reporting the current error message as not useful, remarking that they don’t know which formatting verb goes with which Go type, see e.g. b/227741360. Change-Id: I367bc8c4df3521f0726dc4defa4e563532706148 Reviewed-on: https://go-review.googlesource.com/c/tools/+/422854 Reviewed-by: Nicolas Hillegeer TryBot-Result: Gopher Robot Reviewed-by: Than McIntosh Run-TryBot: Than McIntosh gopls-CI: kokoro --- go/analysis/passes/printf/printf.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/analysis/passes/printf/printf.go b/go/analysis/passes/printf/printf.go index c4ccc95b4f..f56b9b7beb 100644 --- a/go/analysis/passes/printf/printf.go +++ b/go/analysis/passes/printf/printf.go @@ -915,7 +915,7 @@ func okPrintfArg(pass *analysis.Pass, call *ast.CallExpr, state *formatState) (o if reason != "" { details = " (" + reason + ")" } - pass.ReportRangef(call, "%s format %s has arg %s of wrong type %s%s", state.name, state.format, analysisutil.Format(pass.Fset, arg), typeString, details) + pass.ReportRangef(call, "%s format %s has arg %s of wrong type %s%s, see also https://pkg.go.dev/fmt#hdr-Printing", state.name, state.format, analysisutil.Format(pass.Fset, arg), typeString, details) return false } if v.typ&argString != 0 && v.verb != 'T' && !bytes.Contains(state.flags, []byte{'#'}) {