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

x/tools/gopls: no diagnostics for invalid package name #39763

Closed
matthewmueller opened this issue Jun 22, 2020 · 5 comments
Closed

x/tools/gopls: no diagnostics for invalid package name #39763

matthewmueller opened this issue Jun 22, 2020 · 5 comments
Labels
Milestone

Comments

@matthewmueller
Copy link

@matthewmueller matthewmueller commented Jun 22, 2020

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

$ go version
go version go1.14.4 darwin/amd64

Does this issue reproduce with the latest release?

Yup

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

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/m/Library/Caches/go-build"
GOENV="/Users/m/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/m/Go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.14.1/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.14.1/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/m/Code/duo/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/4f/tcxcr6_55v9bp38d8g4hjlf80000gn/T/go-build332848045=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

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

What did you expect to see?

An error or something. I first noticed gofmt stopped working when I hit save, so I restarted the Go server and tried again. No luck. Eventually I figured out that maybe default was a reserved keyword in Go.

What did you see instead?

No indication of error, just gofmt not working.

@gopherbot gopherbot added the gopls label Jun 22, 2020
@gopherbot
Copy link

@gopherbot gopherbot commented Jun 22, 2020

Thank you for filing a gopls issue! Please take a look at the Troubleshooting guide, and make sure that you have provided all of the relevant information here.

@matthewmueller matthewmueller changed the title [gopls] Invalid package names silently break [gopls] Invalid package names silently breaks Jun 22, 2020
@stamblerre stamblerre changed the title [gopls] Invalid package names silently breaks x/tools/gopls: invalid package names silently breaks Jun 23, 2020
@gopherbot gopherbot added the Tools label Jun 23, 2020
@gopherbot gopherbot added this to the Unreleased milestone Jun 23, 2020
@stamblerre stamblerre changed the title x/tools/gopls: invalid package names silently breaks x/tools/gopls: no diagnostics for invalid package name Jun 23, 2020
@stamblerre
Copy link
Contributor

@stamblerre stamblerre commented Jun 23, 2020

Thanks for the report. I am able to reproduce this, and we'll look into it.

@stamblerre stamblerre modified the milestones: Unreleased, gopls/v0.5.0 Jun 23, 2020
@stamblerre
Copy link
Contributor

@stamblerre stamblerre commented Jul 20, 2020

Looks like this is another case that could be handled by #39986. I'll add a work-around in the meantime.

@gopherbot
Copy link

@gopherbot gopherbot commented Jul 20, 2020

Change https://golang.org/cl/243579 mentions this issue: internal/lsp: add parse errors as diagnostics even when parsing fails

@gopherbot
Copy link

@gopherbot gopherbot commented Jul 21, 2020

Change https://golang.org/cl/244028 mentions this issue: go/packages: find filenames in error strings if not in position

@stamblerre stamblerre modified the milestones: gopls/v0.5.0, gopls/v1.0.0 Jul 22, 2020
gopherbot pushed a commit to golang/tools that referenced this issue Jul 23, 2020
In the case of an invalid package name (the package name is a keyword),
`go list` doesn't report any filenames associated with the package.
As we have done previously, we can parse these out of the error message.
However, it seems like, in this case, the filename is in the error
string itself, not the error position.

Updates golang/go#39986
Updates golang/go#39763

Change-Id: Id9c68a93ac4f545e4e2152540ca85b92f1df4640
Reviewed-on: https://go-review.googlesource.com/c/tools/+/244028
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
@stamblerre stamblerre modified the milestones: gopls/v1.0.0, gopls/v0.4.4 Jul 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants