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: unkeyed struct literals are not returned by Reference #43995

Open
myitcv opened this issue Jan 29, 2021 · 0 comments
Open

x/tools/gopls: unkeyed struct literals are not returned by Reference #43995

myitcv opened this issue Jan 29, 2021 · 0 comments

Comments

@myitcv
Copy link
Member

@myitcv myitcv commented Jan 29, 2021

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

$ go version
go version devel +c8bd8010ff Thu Jan 28 16:45:43 2021 +0000 linux/amd64
$ go list -m golang.org/x/tools
golang.org/x/tools v0.1.0
$ go list -m golang.org/x/tools/gopls
golang.org/x/tools/gopls v0.0.0-20210119222503-fe37c9e135b9

Does this issue reproduce with the latest release?

Yes

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

go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/myitcv/.cache/go-build"
GOENV="/home/myitcv/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/myitcv/gostuff/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/myitcv/gostuff"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/myitcv/gos"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/myitcv/gos/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="devel +c8bd8010ff Thu Jan 28 16:45:43 2021 +0000"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/myitcv/gostuff/src/github.com/myitcv/govim/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 -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build884615165=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Consider the input:

package main

type blah struct {
	f1 int
	f2 int
}

func main() {
	b := blah{1, 2}
	b.f2 = 10
}

With the cursor on the f2 of b.f2 on line 10, issuing a Reference call gives two locations: the declaration on line 5, and the usage under the cursor on line 10. The implicit reference to that field on line 9 is not included.

What did you expect to see?

The implicit reference on line 9 to also be returned.

What did you see instead?

As above.

Logs:

Ref: govim/govim#1016


cc @stamblerre

FYI @leitzler @eliasnaur

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