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: support slices with textDocument/typeDefinition #45029

Closed
bhcleek opened this issue Mar 15, 2021 · 1 comment
Closed

x/tools/gopls: support slices with textDocument/typeDefinition #45029

bhcleek opened this issue Mar 15, 2021 · 1 comment

Comments

@bhcleek
Copy link
Contributor

@bhcleek bhcleek commented Mar 15, 2021

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

$ go version
go version go1.16.2 darwin/amd64

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=""
GOARCH="amd64"
GOBIN="/Users/bhcleek/go/bin"
GOCACHE="/Users/bhcleek/Library/Caches/go-build"
GOENV="/Users/bhcleek/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/bhcleek/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/bhcleek/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16.2"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/f9/d6g779t53gq_20w0zm2f_1zm0000gn/T/go-build984327996=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

Send a textDocument/typeDefinition request for a field whose type is a slice.

What did you expect to see?

A response that refers to the definition of the type of the slice or an error whose message clearly indicates that getting the location of the type definition for the slice type is not supported.

e.g. given

type Bar struct{} 
type Foo struct {
    Items []Bar
}

What did you see instead?

And error response whose message is start pos is not valid

ref: fatih/vim-go#3174

@gopherbot
Copy link

@gopherbot gopherbot commented Mar 25, 2021

Change https://golang.org/cl/304789 mentions this issue: internal/lsp/source: respond with the underlying type to Type Definition requests for composite types

ShoshinNikita added a commit to ShoshinNikita/tools that referenced this issue Mar 30, 2021
…ion requests for composite types

Go to Type Definition works for all composite types except maps because
it is not clear which type to return if both key and value are named types.

Fixes golang/go#45029
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.

3 participants