Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/vet: incorrect printf "invalid argument index" with ... argument #34007

Open
cherrymui opened this issue Sep 1, 2019 · 2 comments

Comments

@cherrymui
Copy link
Contributor

commented Sep 1, 2019

What version of Go are you using (go version)?

tip (79669dc)

Does this issue reproduce with the latest release?

Yes

What operating system and processor architecture are you using (go env)?

darwin/amd64

What did you do?

https://play.golang.org/p/uIeIGQWBhgB

package main

import (
	"fmt"
)

func main() {
	s := []interface{}{"Hello", "playground"}
	fmt.Printf("%[2]s\n", s...)
}

What did you expect to see?

No vet warning.

I think this is a valid program, which prints "playground" as intended. It doesn't seem like a potential bug to me.

What did you see instead?

./prog.go:9:2: Printf format has invalid argument index [2]

@mvdan mvdan added this to the Unplanned milestone Sep 1, 2019

@Matts966

This comment has been minimized.

Copy link

commented Sep 2, 2019

I sent a patch to fix this problem.
https://go-review.googlesource.com/c/tools/+/192857

@gopherbot

This comment has been minimized.

Copy link

commented Sep 11, 2019

Change https://golang.org/cl/192857 mentions this issue: analysis/passes/printf: emit linter message related to the index of arguments only when the number of arguments is precise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.