-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/vet: prefix in vet output breaks error file format compatibility #34142
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
Labels
Analysis
Issues related to static analysis (vet, x/tools/go/analysis)
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
Comments
Hi @mirza-s, I can confirm this output change locally: # vet.go
package main
import "fmt"
func main() {
fmt.Println(a)
} $ go1.12 vet ./vet.go
# command-line-arguments [command-line-arguments.test]
./vet.go:6:14: undefined: a
$ go vet ./vet.go
# command-line-arguments
vet: ./vet.go:6:14: undeclared name: a
$ go build ~/vet.go
# command-line-arguments
./vet.go:6:14: undefined: a I'm not sure if this is a feature or a bug. /cc @rsc, @josharian and @bradfitz, who have context on the CLs for #31916 |
phlogistonjohn
added a commit
to phlogistonjohn/samba-operator
that referenced
this issue
Jun 11, 2021
This adds vet as a check in `make check`. Additionally, it moves the run of vet in `make test` and `make manager` to after the build. I wanted to remove it entirely from that line but decided not to make such a big change. Vet needs to run after compile because it prints a 'vet: ' prefix on compile errors [1], and this messes up tools - specifically my vim quickfix. Doing the build first makes you fix real compiler errors and then real vet errors found afterward get emitted without the annoying prefix. [1]: golang/go#34142 Signed-off-by: John Mulligan <[email protected]>
phlogistonjohn
added a commit
to phlogistonjohn/samba-operator
that referenced
this issue
Jun 11, 2021
This adds vet as a check in `make check`. Additionally, it moves the run of vet in `make test` and `make manager` to after the build. I wanted to remove it entirely from that line but decided not to make such a big change. Vet needs to run after compile because it prints a 'vet: ' prefix on compile errors [1], and this messes up tools - specifically my vim quickfix. Doing the build first makes you fix real compiler errors and then real vet errors found afterward get emitted without the annoying prefix. [1]: golang/go#34142 Signed-off-by: John Mulligan <[email protected]>
phlogistonjohn
added a commit
to phlogistonjohn/samba-operator
that referenced
this issue
Jun 12, 2021
This adds vet as a check in `make check`. Additionally, it moves the run of vet in `make test` and `make manager` to after the build. I wanted to remove it entirely from that line but decided not to make such a big change. Vet needs to run after compile because it prints a 'vet: ' prefix on compile errors [1], and this messes up tools - specifically my vim quickfix. Doing the build first makes you fix real compiler errors and then real vet errors found afterward get emitted without the annoying prefix. [1]: golang/go#34142 Signed-off-by: John Mulligan <[email protected]>
phlogistonjohn
added a commit
to phlogistonjohn/samba-operator
that referenced
this issue
Jun 17, 2021
This adds vet as a check in `make check`. Additionally, it moves the run of vet in `make test` and `make manager` to after the build. I wanted to remove it entirely from that line but decided not to make such a big change. Vet needs to run after compile because it prints a 'vet: ' prefix on compile errors [1], and this messes up tools - specifically my vim quickfix. Doing the build first makes you fix real compiler errors and then real vet errors found afterward get emitted without the annoying prefix. [1]: golang/go#34142 Signed-off-by: John Mulligan <[email protected]>
phlogistonjohn
added a commit
to samba-in-kubernetes/samba-operator
that referenced
this issue
Jun 18, 2021
This adds vet as a check in `make check`. Additionally, it moves the run of vet in `make test` and `make manager` to after the build. I wanted to remove it entirely from that line but decided not to make such a big change. Vet needs to run after compile because it prints a 'vet: ' prefix on compile errors [1], and this messes up tools - specifically my vim quickfix. Doing the build first makes you fix real compiler errors and then real vet errors found afterward get emitted without the annoying prefix. [1]: golang/go#34142 Signed-off-by: John Mulligan <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Analysis
Issues related to static analysis (vet, x/tools/go/analysis)
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
Run
What did you expect to see?
What did you see instead?
This appears to be introduced in 38431f1
The text was updated successfully, but these errors were encountered: