fmt.Println(fmt.Errorf("bad: %w %w", errors.New(""), errors.New("")))
https://play.golang.org/p/Tk4meXDxL7b
I expected Go 1.13's vet to mark this as a bad format, but it doesn't seem to do that. I think it should.
/cc @alandonovan
Why? Each verb is accompanied by a value of the appropriate type.
Are you asking, why should this be marked as an error at all or why it should be in vet? If the former, because only one %w is allowed, per the fmt docs. Some people were already confused, see #34060. As for the latter, vet already checks format strings, so it seems like an appropriate place.
Ah, I didn't realize fmt permitted only one. Then yes, that's an easy and appropriate thing for vet to catch.
If it's not super critical, I'd like to take a stab at it.
The following CL already provides this functionality with tests included: https://go-review.googlesource.com/c/tools/+/177601
The vendored version of golang.org/x/tools in src/cmd refers to the version 25a4f137592f which does not contain this functionality. Updating golang.org/x/tools in there should solve this.
Hopefully this helps anyone, I'm rather new to this repository. I tried updating the vendored x/tools with:
cd src/cmd
go get -d golang.org/x/tools@latest
go mod tidy
go mod vendor
as README.vendor suggests me to, but this only resulted in the error no dependencies to vendor, the vendor directory being deleted and thus the build failing. I'm sure someone smarter than me will solve this in no time.
@alandonovan Due to https://github.com/golang/go/issues/34191, could not check for this specific test "TestScript". Change can be found in https://polymer2-go-review.googlesource.com/c/go/+/196843
Change https://golang.org/cl/196843 mentions this issue: cmd: update golang.org/x/tools
Change https://golang.org/cl/197338 mentions this issue: go/analysis: fix vet errors
Most helpful comment
The following CL already provides this functionality with tests included: https://go-review.googlesource.com/c/tools/+/177601
The vendored version of
golang.org/x/toolsinsrc/cmdrefers to the version25a4f137592fwhich does not contain this functionality. Updatinggolang.org/x/toolsin there should solve this.Hopefully this helps anyone, I'm rather new to this repository. I tried updating the vendored
x/toolswith:as
README.vendorsuggests me to, but this only resulted in the errorno dependencies to vendor, thevendordirectory being deleted and thus the build failing. I'm sure someone smarter than me will solve this in no time.