mirror of
https://github.com/golang/go
synced 2024-11-18 07:04:52 -07:00
9ac8e33b36
We now rank printf operand candidates according to the corresponding formatting verb. We follow what fmt allows for the most part, but I omitted some things because they are uncommon and would result in many false positives, or didn't seem worth it to support: - We don't prefer fmt.Stringer or error types for "%x" or "%X". - We don't prefer pointers for any verbs except "%p". - We don't prefer recursive application of verbs (e.g. we won't prefer []string for "%s"). I decided against sharing code with the printf analyzer. It was tangled somewhat with go/analysis, and I needed only a very small subset of the format parsing. I tweaked candidate type evaluation to accommodate the printf hints. We now skip expected type of "interface{}" when matching candidate types because it matches everything and would always supersede the coarser object kind checks. Fixes golang/go#40485. Change-Id: I6440702e33d5ec85d701f8be65453044b5dab746 Reviewed-on: https://go-review.googlesource.com/c/tools/+/246699 Run-TryBot: Muir Manders <muir@mnd.rs> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Findley <rfindley@google.com> |
||
---|---|---|
.. | ||
analysisinternal | ||
apidiff | ||
event | ||
fakenet | ||
fastwalk | ||
gocommand | ||
gopathwalk | ||
imports | ||
jsonrpc2 | ||
lsp | ||
memoize | ||
packagesinternal | ||
proxydir | ||
span | ||
stack | ||
testenv | ||
tool | ||
typesinternal | ||
xcontext |