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: panic due to invalid semver tag (go1.21rc3) with gofumpt enabled #61692

Closed
flowchartsman opened this issue Aug 1, 2023 · 7 comments
Labels
gopls Issues related to the Go language server, gopls. NeedsFix The path to resolution is known, but the work has not been done. Tools This label describes issues relating to any tools in the x/tools repository.
Milestone

Comments

@flowchartsman
Copy link

gopls version: v0.13.1-pre.1 (go1.21rc3)
gopls flags:
update flags: proxy
extension version: 2023.7.1419
go version: 1.21rc3
environment: Visual Studio Code darwin
initialization error: undefined
issue timestamp: Tue, 01 Aug 2023 01:55:14 GMT
restart history:
Tue, 01 Aug 2023 01:51:13 GMT: activation (enabled: true)

ATTENTION: PLEASE PROVIDE THE DETAILS REQUESTED BELOW.

Describe what you observed.

reworking a scratch file to test an interface implementation. upon saving, there was a crash.

Please attach the stack trace from the crash.
A window with the error message should have popped up in the lower half of your screen.
Please copy the stack trace and error messages from that window and paste it in this issue.

[Info  - 9:51:13 PM] 2023/07/31 21:51:13 go info for /Users/awalker/devel/scratch/plog
(go dir /Users/awalker/devel/scratch/plog)
(go version go version go1.21rc3 darwin/arm64)
(valid build configuration = true)
(build flags: [])
(selected go env: [GO111MODULE=, GOCACHE=/Users/awalker/Library/Caches/go-build, GOFLAGS=, GOMODCACHE=/Users/awalker/go/pkg/mod, GOPATH=/Users/awalker/go, GOPRIVATE=, GOROOT=/Users/awalker/opt/go, GOWORK=])


[Info  - 9:51:13 PM] 2023/07/31 21:51:13 go/packages.Load golang/vscode-go#1
	snapshot=0
	directory=file:///Users/awalker/devel/scratch/plog
	query=[/Users/awalker/devel/scratch/plog/... builtin]
	packages=2

[Info  - 9:51:13 PM] 2023/07/31 21:51:13 go/packages.Load golang/vscode-go#1: updating metadata for 1 packages

[Info  - 9:51:18 PM] 2023/07/31 21:51:18 go/packages.Load golang/vscode-go#2
	snapshot=2
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:51:18 PM] 2023/07/31 21:51:18 go/packages.Load golang/vscode-go#2
	snapshot=2
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:51:18 PM] 2023/07/31 21:51:18 go/packages.Load golang/vscode-go#2: updating metadata for 42 packages

[Info  - 9:51:23 PM] 2023/07/31 21:51:23 go/packages.Load golang/vscode-go#4
	snapshot=4
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:51:23 PM] 2023/07/31 21:51:23 go/packages.Load golang/vscode-go#4
	snapshot=4
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:51:23 PM] 2023/07/31 21:51:23 go/packages.Load golang/vscode-go#4: updating metadata for 1 packages

[Info  - 9:51:23 PM] 2023/07/31 21:51:23 go/packages.Load golang/vscode-go#5
	snapshot=5
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:51:23 PM] 2023/07/31 21:51:23 go/packages.Load golang/vscode-go#5
	snapshot=5
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:51:23 PM] 2023/07/31 21:51:23 go/packages.Load golang/vscode-go#5: updating metadata for 1 packages

[Info  - 9:51:23 PM] 2023/07/31 21:51:23 go/packages.Load golang/vscode-go#6
	snapshot=5
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:51:23 PM] 2023/07/31 21:51:23 go/packages.Load golang/vscode-go#6
	snapshot=5
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:51:23 PM] 2023/07/31 21:51:23 go/packages.Load golang/vscode-go#6: updating metadata for 0 packages

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#8
	snapshot=6
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#7
	snapshot=6
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#7
	snapshot=6
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#8
	snapshot=6
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#8: updating metadata for 1 packages

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#7: updating metadata for 0 packages

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#9
	snapshot=7
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#10
	snapshot=7
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#9
	snapshot=7
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#10
	snapshot=7
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#10: updating metadata for 1 packages

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#9: updating metadata for 0 packages

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#11
	snapshot=8
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#11
	snapshot=8
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#12
	snapshot=8
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#12
	snapshot=8
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#11: updating metadata for 1 packages

[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go/packages.Load golang/vscode-go#12: updating metadata for 0 packages

panic: invalid semver string: "v1.21rc3"

goroutine 2023 [running]:
mvdan.cc/gofumpt/format.File(0x1400118f1c0, 0x140001268c0, {{0x140026185b8, 0x8}, {0x14001be70f4, 0x4}, 0x0})
	/Users/awalker/go/pkg/mod/mvdan.cc/gofumpt@v0.4.0/format/format.go:97 +0x264
mvdan.cc/gofumpt/format.Source({0x1400261e000, 0xaf7, 0x1000}, {{0x14001be70f8, 0x7}, {0x14001be70f4, 0x4}, 0x0})
	/Users/awalker/go/pkg/mod/mvdan.cc/gofumpt@v0.4.0/format/format.go:76 +0xc0
golang.org/x/tools/gopls/internal/hooks.Options.updateGofumpt.func1({0x101831c88?, 0x14001ae8b40?}, {0x14001be70f8?, 0x1400172c160?}, {0x14001be70f4?, 0x30?}, {0x1400261e000?, 0x1013813c0?, 0x1400172c1c0?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/hooks/gofumpt_118.go:19 +0x68
golang.org/x/tools/gopls/internal/lsp/source.Format({0x101831c88?, 0x14001ae89c0?}, {0x10183ec30, 0x1400172c160}, {0x101832da8, 0x1400172a720})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/source/format.go:82 +0x378
golang.org/x/tools/gopls/internal/lsp.(*Server).formatting(0x14001ae8630?, {0x101831cc0, 0x140003fceb0}, 0x14001ae8630)
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/format.go:31 +0x2fc
golang.org/x/tools/gopls/internal/lsp.(*Server).Formatting(0x14002b39f00?, {0x101831cc0?, 0x140003fceb0?}, 0x1016a7360?)
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/server_gen.go:132 +0x24
golang.org/x/tools/gopls/internal/lsp/protocol.serverDispatch({0x101831cc0, 0x140003fceb0}, {0x101841ba8, 0x140002e41c0}, 0x14001ae8600, {0x101831e80, 0x14001280780})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/protocol/tsserver.go:387 +0x1d40
golang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.ServerHandler.func3({0x101831cc0, 0x140003fceb0}, 0x14001ae8600, {0x101831e80, 0x14001280780})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/protocol/protocol.go:157 +0x6c
golang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.handshaker.func4({0x101831cc0, 0x140003fceb0}, 0x14001ae8600, {0x101831e80?, 0x14001280780?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/lsprpc/lsprpc.go:519 +0x6d0
golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.MustReplyHandler.func1({0x101831cc0, 0x140003fceb0}, 0x14002218c90, {0x101831e80?, 0x14001280780?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:35 +0xdc
golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.AsyncHandler.func2.2()
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:103 +0x90
created by golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.AsyncHandler.func2 in goroutine 104
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:100 +0x1d0
[Info  - 9:51:24 PM] 
true
[Info  - 9:51:24 PM] 2023/07/31 21:51:24 go info for /Users/awalker/devel/scratch/plog
(go dir /Users/awalker/devel/scratch/plog)
(go version go version go1.21rc3 darwin/arm64)
(valid build configuration = true)
(build flags: [])
(selected go env: [GO111MODULE=, GOCACHE=/Users/awalker/Library/Caches/go-build, GOFLAGS=, GOMODCACHE=/Users/awalker/go/pkg/mod, GOPATH=/Users/awalker/go, GOPRIVATE=, GOROOT=/Users/awalker/opt/go, GOWORK=])


[Info  - 9:51:25 PM] 2023/07/31 21:51:25 go/packages.Load golang/vscode-go#1
	snapshot=0
	directory=file:///Users/awalker/devel/scratch/plog
	query=[/Users/awalker/devel/scratch/plog/... builtin]
	packages=2

[Info  - 9:51:25 PM] 2023/07/31 21:51:25 go/packages.Load golang/vscode-go#1: updating metadata for 42 packages

[Error - 9:51:26 PM] 2023/07/31 21:51:26 tidy: diagnosing file:///Users/awalker/devel/scratch/plog/go.mod: err: exit status 1: stderr: go: finding module for package golang.org/x/exp/slog
go: finding module for package github.com/apache/pulsar-client-go/pulsar/log
go: plog imports
	github.com/apache/pulsar-client-go/pulsar/log: cannot find module providing package github.com/apache/pulsar-client-go/pulsar/log: module lookup disabled by GOPROXY=off
go: plog imports
	golang.org/x/exp/slog: cannot find module providing package golang.org/x/exp/slog: module lookup disabled by GOPROXY=off


[Error - 9:51:28 PM] Request textDocument/hover failed.
  Message: no package data for import "golang.org/x/exp/slog"
  Code: 0 
[Error - 9:51:29 PM] Request textDocument/hover failed.
  Message: no package data for import "golang.org/x/exp/slog"
  Code: 0 
[Error - 9:51:29 PM] Request textDocument/hover failed.
  Message: no package data for import "github.com/apache/pulsar-client-go/pulsar/log"
  Code: 0 
[Error - 9:51:30 PM] Request textDocument/hover failed.
  Message: no package data for import "github.com/apache/pulsar-client-go/pulsar/log"
  Code: 0 
[Error - 9:51:30 PM] Request textDocument/hover failed.
  Message: no package data for import "golang.org/x/exp/slog"
  Code: 0 
[Error - 9:51:32 PM] Request textDocument/hover failed.
  Message: no package data for import "github.com/apache/pulsar-client-go/pulsar/log"
  Code: 0 
[Error - 9:51:32 PM] Request textDocument/hover failed.
  Message: no package data for import "github.com/apache/pulsar-client-go/pulsar/log"
  Code: 0 
[Info  - 9:51:39 PM] 2023/07/31 21:51:39 go/packages.Load golang/vscode-go#2
	snapshot=2
	directory=file:///Users/awalker/devel/scratch/plog
	query=[/Users/awalker/devel/scratch/plog/... builtin]
	packages=2

[Info  - 9:51:39 PM] 2023/07/31 21:51:39 go/packages.Load golang/vscode-go#2: updating metadata for 57 packages

[Error - 9:51:39 PM] 2023/07/31 21:51:39 tidy: diagnosing file:///Users/awalker/devel/scratch/plog/go.mod: err: exit status 1: stderr: go: finding module for package golang.org/x/exp/slog
go: plog imports
	golang.org/x/exp/slog: cannot find module providing package golang.org/x/exp/slog: module lookup disabled by GOPROXY=off


[Error - 9:51:41 PM] Request textDocument/hover failed.
  Message: no package data for import "golang.org/x/exp/slog"
  Code: 0 
[Info  - 9:51:49 PM] 2023/07/31 21:51:49 go/packages.Load golang/vscode-go#3
	snapshot=3
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:51:49 PM] 2023/07/31 21:51:49 go/packages.Load golang/vscode-go#3
	snapshot=3
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:51:49 PM] 2023/07/31 21:51:49 go/packages.Load golang/vscode-go#3: updating metadata for 60 packages

[Info  - 9:51:49 PM] 2023/07/31 21:51:49 go/packages.Load golang/vscode-go#4
	snapshot=3
	directory=file:///Users/awalker/devel/scratch/plog
	query=[/Users/awalker/devel/scratch/plog/... builtin]
	packages=2

[Info  - 9:51:49 PM] 2023/07/31 21:51:49 go/packages.Load golang/vscode-go#4: updating metadata for 0 packages

[Info  - 9:51:49 PM] 2023/07/31 21:51:49 go/packages.Load golang/vscode-go#5
	snapshot=3
	directory=file:///Users/awalker/devel/scratch/plog
	query=[golang.org/x/sys/internal/unsafeheader golang.org/x/sys/unix]
	packages=2

[Info  - 9:51:49 PM] 2023/07/31 21:51:49 go/packages.Load golang/vscode-go#5
	snapshot=3
	directory=file:///Users/awalker/devel/scratch/plog
	package="golang.org/x/sys/internal/unsafeheader"
	files=[]

[Info  - 9:51:49 PM] 2023/07/31 21:51:49 go/packages.Load golang/vscode-go#5: updating metadata for 0 packages

[Info  - 9:51:49 PM] 2023/07/31 21:51:49 go/packages.Load golang/vscode-go#5
	snapshot=3
	directory=file:///Users/awalker/devel/scratch/plog
	package="golang.org/x/sys/unix"
	files=[]

[Info  - 9:51:55 PM] 2023/07/31 21:51:55 background imports cache refresh starting

[Info  - 9:51:56 PM] 2023/07/31 21:51:56 background refresh finished after 1.279165667s

[Info  - 9:51:57 PM] 2023/07/31 21:51:57 go/packages.Load golang/vscode-go#6
	snapshot=4
	directory=file:///Users/awalker/devel/scratch/plog
	query=[/Users/awalker/devel/scratch/plog/... builtin]
	packages=2

[Info  - 9:51:57 PM] 2023/07/31 21:51:57 go/packages.Load golang/vscode-go#6: updating metadata for 61 packages

[Error - 9:52:11 PM] 2023/07/31 21:52:11 imports fixes: AllImportsFixes: /Users/awalker/devel/scratch/plog/main.go:52:1: expected declaration, found '}'
	file="/Users/awalker/devel/scratch/plog/main.go"

[Error - 9:52:12 PM] 2023/07/31 21:52:12 imports fixes: AllImportsFixes: /Users/awalker/devel/scratch/plog/main.go:52:1: expected declaration, found '}'
	file="/Users/awalker/devel/scratch/plog/main.go"

[Error - 9:52:54 PM] 2023/07/31 21:52:54 imports fixes: AllImportsFixes: /Users/awalker/devel/scratch/plog/main.go:52:1: expected declaration, found '}'
	file="/Users/awalker/devel/scratch/plog/main.go"

[Error - 9:52:54 PM] 2023/07/31 21:52:54 imports fixes: AllImportsFixes: /Users/awalker/devel/scratch/plog/main.go:52:1: expected declaration, found '}'
	file="/Users/awalker/devel/scratch/plog/main.go"

[Info  - 9:53:01 PM] 2023/07/31 21:53:01 background imports cache refresh starting

[Info  - 9:53:02 PM] 2023/07/31 21:53:02 background refresh finished after 207.091834ms

[Info  - 9:53:32 PM] 2023/07/31 21:53:32 background imports cache refresh starting

[Info  - 9:53:32 PM] 2023/07/31 21:53:32 background refresh finished after 191.73675ms

[Info  - 9:53:51 PM] 2023/07/31 21:53:51 go/packages.Load golang/vscode-go#8
	snapshot=64
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:53:51 PM] 2023/07/31 21:53:51 go/packages.Load golang/vscode-go#8
	snapshot=64
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:53:51 PM] 2023/07/31 21:53:51 go/packages.Load golang/vscode-go#7
	snapshot=64
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:53:51 PM] 2023/07/31 21:53:51 go/packages.Load golang/vscode-go#7
	snapshot=64
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:53:51 PM] 2023/07/31 21:53:51 go/packages.Load golang/vscode-go#7: updating metadata for 1 packages

[Info  - 9:53:51 PM] 2023/07/31 21:53:51 go/packages.Load golang/vscode-go#8: updating metadata for 0 packages

panic: invalid semver string: "v1.21rc3"

goroutine 17077 [running]:
mvdan.cc/gofumpt/format.File(0x14000dde000, 0x1400329e140, {{0x140031cfc00, 0x8}, {0x140067d4a14, 0x4}, 0x0})
	/Users/awalker/go/pkg/mod/mvdan.cc/gofumpt@v0.4.0/format/format.go:97 +0x264
mvdan.cc/gofumpt/format.Source({0x14001d84000, 0x8fc, 0x1000}, {{0x140067d4a18, 0x7}, {0x140067d4a14, 0x4}, 0x0})
	/Users/awalker/go/pkg/mod/mvdan.cc/gofumpt@v0.4.0/format/format.go:76 +0xc0
golang.org/x/tools/gopls/internal/hooks.Options.updateGofumpt.func1({0x105c05c88?, 0x14001821dd0?}, {0x140067d4a18?, 0x14001cf09a0?}, {0x140067d4a14?, 0x30?}, {0x14001d84000?, 0x1057553c0?, 0x14001cf0a00?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/hooks/gofumpt_118.go:19 +0x68
golang.org/x/tools/gopls/internal/lsp/source.Format({0x105c05c88?, 0x14001821c80?}, {0x105c12c30, 0x14001cf09a0}, {0x105c06da8, 0x1400117dce0})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/source/format.go:82 +0x378
golang.org/x/tools/gopls/internal/lsp.(*Server).formatting(0x14001821860?, {0x105c05cc0, 0x14001c367d0}, 0x14001821860)
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/format.go:31 +0x2fc
golang.org/x/tools/gopls/internal/lsp.(*Server).Formatting(0x14001cc7680?, {0x105c05cc0?, 0x14001c367d0?}, 0x105a7b360?)
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/server_gen.go:132 +0x24
golang.org/x/tools/gopls/internal/lsp/protocol.serverDispatch({0x105c05cc0, 0x14001c367d0}, {0x105c15ba8, 0x140002e41c0}, 0x14001821830, {0x105c05e80, 0x140031973c0})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/protocol/tsserver.go:387 +0x1d40
golang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.ServerHandler.func3({0x105c05cc0, 0x14001c367d0}, 0x14001821830, {0x105c05e80, 0x140031973c0})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/protocol/protocol.go:157 +0x6c
golang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.handshaker.func4({0x105c05cc0, 0x14001c367d0}, 0x14001821830, {0x105c05e80?, 0x140031973c0?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/lsprpc/lsprpc.go:519 +0x6d0
golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.MustReplyHandler.func1({0x105c05cc0, 0x14001c367d0}, 0x1400168e558, {0x105c05e80?, 0x140031973c0?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:35 +0xdc
golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.AsyncHandler.func2.2()
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:103 +0x90
created by golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.AsyncHandler.func2 in goroutine 96
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:100 +0x1d0
[Info  - 9:53:51 PM] 
true
[Info  - 9:53:51 PM] 2023/07/31 21:53:51 go info for /Users/awalker/devel/scratch/plog
(go dir /Users/awalker/devel/scratch/plog)
(go version go version go1.21rc3 darwin/arm64)
(valid build configuration = true)
(build flags: [])
(selected go env: [GO111MODULE=, GOCACHE=/Users/awalker/Library/Caches/go-build, GOFLAGS=, GOMODCACHE=/Users/awalker/go/pkg/mod, GOPATH=/Users/awalker/go, GOPRIVATE=, GOROOT=/Users/awalker/opt/go, GOWORK=])


[Info  - 9:53:51 PM] 2023/07/31 21:53:51 go/packages.Load golang/vscode-go#1
	snapshot=0
	directory=file:///Users/awalker/devel/scratch/plog
	query=[/Users/awalker/devel/scratch/plog/... builtin]
	packages=2

[Info  - 9:53:51 PM] 2023/07/31 21:53:51 go/packages.Load golang/vscode-go#1: updating metadata for 61 packages

[Error - 9:53:59 PM] 2023/07/31 21:53:59 imports fixes: AllImportsFixes: /Users/awalker/devel/scratch/plog/main.go:8:10: expected '(', found newline (and 21 more errors)
	file="/Users/awalker/devel/scratch/plog/main.go"

[Error - 9:53:59 PM] 2023/07/31 21:53:59 no completions found: this is a definition of func init(_ func(invalid type) *invalid type, _ func(l *invalid type) invalid type, fields github.com/apache/pulsar-client-go/pulsar/log.Fields) github.com/apache/pulsar-client-go/pulsar/log.Logger
	position=7:9

[Error - 9:54:00 PM] 2023/07/31 21:54:00 no signature help: cannot find an enclosing function
	position=7:11

[Info  - 9:54:20 PM] 2023/07/31 21:54:20 go/packages.Load golang/vscode-go#3
	snapshot=35
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:54:20 PM] 2023/07/31 21:54:20 go/packages.Load golang/vscode-go#2
	snapshot=35
	directory=file:///Users/awalker/devel/scratch/plog
	package="plog"
	files=[/Users/awalker/devel/scratch/plog/main.go]

[Info  - 9:54:20 PM] 2023/07/31 21:54:20 go/packages.Load golang/vscode-go#3
	snapshot=35
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:54:20 PM] 2023/07/31 21:54:20 go/packages.Load golang/vscode-go#2
	snapshot=35
	directory=file:///Users/awalker/devel/scratch/plog
	query=[file=/Users/awalker/devel/scratch/plog/main.go]
	packages=1

[Info  - 9:54:20 PM] 2023/07/31 21:54:20 go/packages.Load golang/vscode-go#3: updating metadata for 1 packages

[Info  - 9:54:20 PM] 2023/07/31 21:54:20 go/packages.Load golang/vscode-go#2: updating metadata for 0 packages

panic: invalid semver string: "v1.21rc3"

goroutine 7306 [running]:
mvdan.cc/gofumpt/format.File(0x1400065a940, 0x140000c6be0, {{0x1400158a860, 0x8}, {0x14000633ef8, 0x4}, 0x0})
	/Users/awalker/go/pkg/mod/mvdan.cc/gofumpt@v0.4.0/format/format.go:97 +0x264
mvdan.cc/gofumpt/format.Source({0x14002056000, 0x8ec, 0x1000}, {{0x14000633f00, 0x7}, {0x14000633ef8, 0x4}, 0x0})
	/Users/awalker/go/pkg/mod/mvdan.cc/gofumpt@v0.4.0/format/format.go:76 +0xc0
golang.org/x/tools/gopls/internal/hooks.Options.updateGofumpt.func1({0x104d9dc88?, 0x140011691a0?}, {0x14000633f00?, 0x1400135adc0?}, {0x14000633ef8?, 0x30?}, {0x14002056000?, 0x1048ed3c0?, 0x1400135ae20?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/hooks/gofumpt_118.go:19 +0x68
golang.org/x/tools/gopls/internal/lsp/source.Format({0x104d9dc88?, 0x14001168ed0?}, {0x104daac30, 0x1400135adc0}, {0x104d9eda8, 0x140010f9440})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/source/format.go:82 +0x378
golang.org/x/tools/gopls/internal/lsp.(*Server).formatting(0x14001168900?, {0x104d9dcc0, 0x140013c5d60}, 0x14001168900)
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/format.go:31 +0x2fc
golang.org/x/tools/gopls/internal/lsp.(*Server).Formatting(0x14003b5bf80?, {0x104d9dcc0?, 0x140013c5d60?}, 0x104c13360?)
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/server_gen.go:132 +0x24
golang.org/x/tools/gopls/internal/lsp/protocol.serverDispatch({0x104d9dcc0, 0x140013c5d60}, {0x104dadba8, 0x1400014c000}, 0x140011688d0, {0x104d9de80, 0x140006fc340})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/protocol/tsserver.go:387 +0x1d40
golang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.ServerHandler.func3({0x104d9dcc0, 0x140013c5d60}, 0x140011688d0, {0x104d9de80, 0x140006fc340})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/protocol/protocol.go:157 +0x6c
golang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.handshaker.func4({0x104d9dcc0, 0x140013c5d60}, 0x140011688d0, {0x104d9de80?, 0x140006fc340?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/lsprpc/lsprpc.go:519 +0x6d0
golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.MustReplyHandler.func1({0x104d9dcc0, 0x140013c5d60}, 0x1400189d260, {0x104d9de80?, 0x140006fc340?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:35 +0xdc
golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.AsyncHandler.func2.2()
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:103 +0x90
created by golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.AsyncHandler.func2 in goroutine 116
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:100 +0x1d0
[Info  - 9:54:20 PM] 
true
[Info  - 9:54:20 PM] 2023/07/31 21:54:20 go info for /Users/awalker/devel/scratch/plog
(go dir /Users/awalker/devel/scratch/plog)
(go version go version go1.21rc3 darwin/arm64)
(valid build configuration = true)
(build flags: [])
(selected go env: [GO111MODULE=, GOCACHE=/Users/awalker/Library/Caches/go-build, GOFLAGS=, GOMODCACHE=/Users/awalker/go/pkg/mod, GOPATH=/Users/awalker/go, GOPRIVATE=, GOROOT=/Users/awalker/opt/go, GOWORK=])


[Info  - 9:54:20 PM] 2023/07/31 21:54:20 go/packages.Load golang/vscode-go#1
	snapshot=0
	directory=file:///Users/awalker/devel/scratch/plog
	query=[/Users/awalker/devel/scratch/plog/... builtin]
	packages=2

[Info  - 9:54:20 PM] 2023/07/31 21:54:20 go/packages.Load golang/vscode-go#1: updating metadata for 56 packages

panic: invalid semver string: "v1.21rc3"

goroutine 2233 [running]:
mvdan.cc/gofumpt/format.File(0x140001b4940, 0x14000334dc0, {{0x140015935c0, 0x8}, {0x14000396ab8, 0x4}, 0x0})
	/Users/awalker/go/pkg/mod/mvdan.cc/gofumpt@v0.4.0/format/format.go:97 +0x264
mvdan.cc/gofumpt/format.Source({0x14001b0a000, 0x8de, 0x1000}, {{0x14000396ac0, 0x7}, {0x14000396ab8, 0x4}, 0x0})
	/Users/awalker/go/pkg/mod/mvdan.cc/gofumpt@v0.4.0/format/format.go:76 +0xc0
golang.org/x/tools/gopls/internal/hooks.Options.updateGofumpt.func1({0x10105dc88?, 0x140004d9050?}, {0x14000396ac0?, 0x1400257c000?}, {0x14000396ab8?, 0x30?}, {0x14001b0a000?, 0x100bad3c0?, 0x1400257c060?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/hooks/gofumpt_118.go:19 +0x68
golang.org/x/tools/gopls/internal/lsp/source.Format({0x10105dc88?, 0x140004d8f00?}, {0x10106ac30, 0x1400257c000}, {0x10105eda8, 0x140019e9200})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/source/format.go:82 +0x378
golang.org/x/tools/gopls/internal/lsp.(*Server).formatting(0x140004d8ae0?, {0x10105dcc0, 0x140006af4f0}, 0x140004d8ae0)
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/format.go:31 +0x2fc
golang.org/x/tools/gopls/internal/lsp.(*Server).Formatting(0x140029d1c80?, {0x10105dcc0?, 0x140006af4f0?}, 0x100ed3360?)
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/server_gen.go:132 +0x24
golang.org/x/tools/gopls/internal/lsp/protocol.serverDispatch({0x10105dcc0, 0x140006af4f0}, {0x10106dba8, 0x140002e41c0}, 0x140004d8ab0, {0x10105de80, 0x14000116c80})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/protocol/tsserver.go:387 +0x1d40
golang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.ServerHandler.func3({0x10105dcc0, 0x140006af4f0}, 0x140004d8ab0, {0x10105de80, 0x14000116c80})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/protocol/protocol.go:157 +0x6c
golang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.handshaker.func4({0x10105dcc0, 0x140006af4f0}, 0x140004d8ab0, {0x10105de80?, 0x14000116c80?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/lsprpc/lsprpc.go:519 +0x6d0
golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.MustReplyHandler.func1({0x10105dcc0, 0x140006af4f0}, 0x140014c7b18, {0x10105de80?, 0x14000116c80?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:35 +0xdc
golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.AsyncHandler.func2.2()
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:103 +0x90
created by golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.AsyncHandler.func2 in goroutine 75
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:100 +0x1d0
[Info  - 9:54:31 PM] 
true
[Info  - 9:54:31 PM] 2023/07/31 21:54:31 go info for /Users/awalker/devel/scratch/plog
(go dir /Users/awalker/devel/scratch/plog)
(go version go version go1.21rc3 darwin/arm64)
(valid build configuration = true)
(build flags: [])
(selected go env: [GO111MODULE=, GOCACHE=/Users/awalker/Library/Caches/go-build, GOFLAGS=, GOMODCACHE=/Users/awalker/go/pkg/mod, GOPATH=/Users/awalker/go, GOPRIVATE=, GOROOT=/Users/awalker/opt/go, GOWORK=])


[Info  - 9:54:31 PM] 2023/07/31 21:54:31 go/packages.Load golang/vscode-go#1
	snapshot=0
	directory=file:///Users/awalker/devel/scratch/plog
	query=[/Users/awalker/devel/scratch/plog/... builtin]
	packages=2

[Info  - 9:54:31 PM] 2023/07/31 21:54:31 go/packages.Load golang/vscode-go#1: updating metadata for 56 packages

[Error - 9:54:39 PM] 2023/07/31 21:54:39 no signature help: no signature help within a string literal
	position=7:11

[Error - 9:54:46 PM] 2023/07/31 21:54:46 imports fixes: AllImportsFixes: /Users/awalker/devel/scratch/plog/main.go:8:8: expected type, found newline
	file="/Users/awalker/devel/scratch/plog/main.go"

[Error - 9:54:47 PM] 2023/07/31 21:54:47 no completions found: this is a definition of var pl invalid type
	position=7:7

panic: invalid semver string: "v1.21rc3"

goroutine 8223 [running]:
mvdan.cc/gofumpt/format.File(0x14003316f40, 0x14003a10b40, {{0x1400583a500, 0x8}, {0x14000530c48, 0x4}, 0x0})
	/Users/awalker/go/pkg/mod/mvdan.cc/gofumpt@v0.4.0/format/format.go:97 +0x264
mvdan.cc/gofumpt/format.Source({0x14003267000, 0x90b, 0x1000}, {{0x14000530c50, 0x7}, {0x14000530c48, 0x4}, 0x0})
	/Users/awalker/go/pkg/mod/mvdan.cc/gofumpt@v0.4.0/format/format.go:76 +0xc0
golang.org/x/tools/gopls/internal/hooks.Options.updateGofumpt.func1({0x105659c88?, 0x1400515ae10?}, {0x14000530c50?, 0x14001019340?}, {0x14000530c48?, 0x30?}, {0x14003267000?, 0x1051a93c0?, 0x140010193a0?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/hooks/gofumpt_118.go:19 +0x68
golang.org/x/tools/gopls/internal/lsp/source.Format({0x105659c88?, 0x1400515acc0?}, {0x105666c30, 0x14001019340}, {0x10565ada8, 0x14001692d80})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/source/format.go:82 +0x378
golang.org/x/tools/gopls/internal/lsp.(*Server).formatting(0x1400515a960?, {0x105659cc0, 0x14006286af0}, 0x1400515a960)
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/format.go:31 +0x2fc
golang.org/x/tools/gopls/internal/lsp.(*Server).Formatting(0x14006050e80?, {0x105659cc0?, 0x14006286af0?}, 0x1054cf360?)
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/server_gen.go:132 +0x24
golang.org/x/tools/gopls/internal/lsp/protocol.serverDispatch({0x105659cc0, 0x14006286af0}, {0x105669ba8, 0x1400019c000}, 0x1400515a930, {0x105659e80, 0x14000fcfe00})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/protocol/tsserver.go:387 +0x1d40
golang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.ServerHandler.func3({0x105659cc0, 0x14006286af0}, 0x1400515a930, {0x105659e80, 0x14000fcfe00})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/protocol/protocol.go:157 +0x6c
golang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.handshaker.func4({0x105659cc0, 0x14006286af0}, 0x1400515a930, {0x105659e80?, 0x14000fcfe00?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools/gopls@v0.13.1-pre.1/internal/lsp/lsprpc/lsprpc.go:519 +0x6d0
golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.MustReplyHandler.func1({0x105659cc0, 0x14006286af0}, 0x140063556b0, {0x105659e80?, 0x14000fcfe00?})
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:35 +0xdc
golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.AsyncHandler.func2.2()
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:103 +0x90
created by golang.org/x/tools/gopls/internal/lsp/protocol.Handlers.AsyncHandler.func2 in goroutine 76
	/Users/awalker/go/pkg/mod/golang.org/x/tools@v0.11.2-0.20230731195125-b8aca9f0e966/internal/jsonrpc2/handler.go:100 +0x1d0
[Error - 9:55:01 PM] Connection to server got closed. Server will not be restarted.

Failed to auto-collect gopls trace: no gopls log.

@findleyr findleyr changed the title gopls: automated issue report (crash) x/tools/gopls: panic due to invalid semver tag (go1.21rc3) with gofumpt enabled Aug 1, 2023
@findleyr findleyr transferred this issue from golang/vscode-go Aug 1, 2023
@gopherbot gopherbot added Tools This label describes issues relating to any tools in the x/tools repository. gopls Issues related to the Go language server, gopls. labels Aug 1, 2023
@gopherbot gopherbot added this to the Unreleased milestone Aug 1, 2023
@findleyr
Copy link
Contributor

findleyr commented Aug 1, 2023

Thanks very much for the report. We will fix our gofumpt integration to avoid this panic (either updating gofumpt or pre-processing the modfile version).

CC @mvdan @hyangah

@findleyr findleyr modified the milestones: Unreleased, gopls/v0.13.1 Aug 1, 2023
@findleyr findleyr added the NeedsFix The path to resolution is known, but the work has not been done. label Aug 1, 2023
@mvdan
Copy link
Member

mvdan commented Aug 1, 2023

That check in gofumpt has been there for over three years, so I wonder what has changed recently.

LangVersion has always been documented as semver, thus the check. I also don't think it makes sense to give a beta or RC release as a language version. So I'm inclined to say it's working as intended, at least without understanding how we got here.

@findleyr
Copy link
Contributor

findleyr commented Aug 1, 2023

@mvdan this is a result of a change in the Go command to record patch versions and release candidates in go.mod (#57001).

LangVersion is documented to accept the version from the go.mod file:
https://pkg.go.dev/mvdan.cc/gofumpt/format#Options.LangVersion

But that now fails:

> go1.21rc3 mod init example.com
go: creating new go.mod: module example.com
> go mod edit -json | jq -r '.Go'
1.21rc3

@findleyr
Copy link
Contributor

findleyr commented Aug 1, 2023

FWIW, we'll preprocess this version in gopls so that it's acceptable to gofumpt. But it sounds like, based on the gofumpt documentation, this Go command change has broken you. (I'll note that the go.mod documentation prior to https://go.dev/cl/500775 was consistent with your interpretation of the go directive).

@mvdan
Copy link
Member

mvdan commented Aug 1, 2023

Interesting, I hadn't realized that the format for the go directive had changed like this. Then it does sound like I need to change something on my end, even if it's just the docs.

Is there any API to transform a Go release version into semver? I realise that #32450 was rejected, but I still want to be able to compute "is the user's language version 1.21 or higher", which is why I was using https://pkg.go.dev/golang.org/x/mod/semver#Compare until now. That happened to work with versions like 1.20, since it's valid as both a Go release and semver (modulo prefixes like go and v), but it becomes more sticky with e.g. 1.20rc1 vs 1.20-rc.1.

@findleyr
Copy link
Contributor

findleyr commented Aug 1, 2023

For gopls, I'm going to copy the go/types logic to parse the go version line. I think we may want to add something to x/mod, however.

CC @rsc @bcmills

@gopherbot
Copy link

Change https://go.dev/cl/514815 mentions this issue: gopls/internal/hooks: clean language version before passing to gofumpt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gopls Issues related to the Go language server, gopls. NeedsFix The path to resolution is known, but the work has not been done. Tools This label describes issues relating to any tools in the x/tools repository.
Projects
None yet
Development

No branches or pull requests

4 participants