go/analysis/passes/printf: warn against using non-error interface values with %w

CL 217180 permits passing interface values to any format verb, since
we have no way of knowing if the underlying type implements
fmt.Formatter. Restore the previous behavior of reporting an error
for passing a non-error value to %w.  The %w verb requires an error
argument, and the risk of false positives is small.

Fixes golang/go#48931

Change-Id: I83a6c9ed252976476f12372a490779336a1f536f
Reviewed-on: https://go-review.googlesource.com/c/tools/+/355730
Trust: Damien Neil <dneil@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
2 files changed
tree: 888cbf6078530b3fd8c7b3cffd9de83b0dd4cc4e
  1. .gitattributes
  2. .gitignore
  3. .prettierrc
  4. AUTHORS
  5. CONTRIBUTING.md
  6. CONTRIBUTORS
  7. LICENSE
  8. PATENTS
  9. README.md
  10. benchmark/
  11. blog/
  12. cmd/
  13. codereview.cfg
  14. container/
  15. copyright/
  16. cover/
  17. go.mod
  18. go.sum
  19. go/
  20. godoc/
  21. gopls/
  22. imports/
  23. internal/
  24. playground/
  25. present/
  26. refactor/
  27. txtar/
README.md

Go Tools

PkgGoDev

This subrepository holds the source for various packages and tools that support the Go programming language.

Some of the tools, godoc and vet for example, are included in binary Go distributions.

Others, including the Go guru and the test coverage tool, can be fetched with go get.

Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.

Download/Install

The easiest way to install is to run go get -u golang.org/x/tools/.... You can also manually git clone the repository to $GOPATH/src/golang.org/x/tools.

JS/CSS Formatting

This repository uses prettier to format JS and CSS files.

The version of prettier used is 1.18.2.

It is encouraged that all JS and CSS code be run through this before submitting a change. However, it is not a strict requirement enforced by CI.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.

The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/tools/(your subdir):” in the subject line, so it is easy to find.